CFOG's PIP, October 1986, Volume 4 No. 12, Whole No. 48, page 2

I Got Those Installation Blues (Part 2)

by Jim Holmes, with Rashama Johnson

In this series we hope to make installing new software less difficult, by explaining what the needed system attributes are... and how to find the code you need in the System Specifications section of your manual.

In Part One we explained that most INSTALL routines ask for more information than they require. In most cases you're OK if you know the codes which position the cursor and clear the screen. Presumably, we explained how to find these in your manual. For good measure we've also listed below (see Table B) the values for a few of the more common CP/M machines.

The incompatibility between CP/M systems is (in our view) an important factor in the popular appeal of PC/MS-DOS. Programmers avoid the hassle of patching, testing and debugging many versions of their software; retailers needn't tie up capital by stocking a "hot" program in six or seven machine-specific formats. Purchase of a "pre-installed" product is attractive to the buyer, too. The PC/MS-DOS machines are a long way from the "intelligent toasters" some ads make them out to be, but they do offer user "interfaces" and standards for configuration we CP/Mer's just don't have.

In Part 1 of this series we introduced a table from the Osborne Executive manual, reproduced below.

                   Table A:

Decimal Hex
Keyboard Sequence Sequence
Sequence (BASIC) (Assembly) Action
-----------------------------------------
:
:
CTRL Z 26 1A Clear screen
:
:
ESC =p1,p2 27 61 1B 3D Load cursor
row, column:
p1 = ypos+32
p2 = xpos+32
:

The full table occupies four pages in the manual, yet the two items shown above are sufficient to install most software. The same values apply to many common systems, including all Osbornes and Kaypros. Morrows differ; some use these values, others not. See Table B.

                   TABLE B
-----------------------------------------
CLEAR SCREEN

SYSTEM ASCII Binary
-----------------------------------------
Morrow \
Freedom > ESC * 1B 2A
Series /

DEC VT100\
DEC VT101 \
DEC VT102 > ESC [ 2 J 1B 5B 32 4A
DEC VT125 /
DEC VT131/
-----------------------------------------
POSITION CURSOR

SYSTEM ASCII Binary
-----------------------------------------
Morrow \
Freedom > SEE Table A (above)
Series /

DEC VT100\
DEC VT101 \
DEC VT102 > ESC [ (Initializer) 1B 5B
DEC VT125 / (Row 1, no offset, Row or Column)
DEC VT131/ (Terminator) 3B
(End Sequence) H
-----------------------------------------

When more information is required it's because the installed program does something "special." Many INSTALL routines ask you for more than they require. The programmer rarely "edits out" these "extra" questions from his/her "generic" routine.

We selected for illustrative purposes a portion of the TURBO PASCAL Installation routine, as it requires quite a lot of extra information (and USES it, since the program includes a full text editor). Take a look at Table C, below. The user is requested to "fill in" the information, line by line. We've provided answers from the Exccutive manual (as before), with the assumption you'd prefer all your software coform to WordStar's standard functions, where possible.

Sounds great, but trying it can lead to trouble if you don't know what you're doing. We'll discuss this next time (in Part Three), the final section in this series. We'll try to cover a few common problems in Printer Installation as part of the third section, too.

Some installations require specific information about your hardware (i.e. screen attributes, etc.); others may offer you a CHOICE in "configuring the software" to your liking. This is not a bad idea. You may be able to set up Arrow Keys, Function Keys and [CTRL][key] combinations you are already familiar with. But how do you know what's being asked for?

How do you know (as in Table C) when an INSTALL routine is seeking system information or offering you an option for some software-suppported feature? One good test is, "Do I have this feature under CP/M?" If it's a "package option" (they're asking, aren't they?) you can probably choose the setup value. Be careful about changing values you recognize as "part of CP/M," however.

Where you're just not sure, feel free to experiment... so long as you're working with a copy of text or data, as well as the program itself. I've had some horrendous "crashes" when configuring an unfamiliar program. None (yet) have damaged my equipment but I've had data overwritten and programs corrupted through some of my attempts to "get it up and running."

                   TABLE C
-----------------------------------------
CURSOR
1: Character left CTRL-H
2: Alternative CTRL-S
3: Character right CTRL-D
4: Word left CTRL-A
5: Word right CTRL-F
6: Line up CTRL-E
7: Line down CTRL-X
8: Scroll down CTRL-W
9:*Scroll up CTRL-Z
10:* Page up CTRL-C
11: Page down CTRL-R
12: To left on line CTRL-Q A
13: To right on line CTRL-Q D
14: To top of page CTRL-Q E
15: To bottom of page CTRL-Q X
16: To top of file CTRL-Q R
17: To end of file CTRL-Q C
18: To beginning of block CTRL-Q B
19: To end of block CTRL-Q K
20: To last cursor position CTRL-Q P

INSERT & DELETE:
21: Insert mode on/off CTRL-V
22: Insert line CTRL-N
23: Delete line CTRL-Y
24: Delete to end of line CTRL-Q Y
25: Delete right word CTRL-T
26: Delete character at cursor CTRL-G
27: Delete left character CTRL-H
28: Alternative CTRL- -

BLOCK COMMANDS:
29: Mark block begin CTRL-K B
30: Mark block end CTRL-K K
31: Mark single word Nothing
32: Hide/display block CTRL-K H
33: Copy block CTRL-K C
34: Move block CTRL-K V
35: Delete block CTRL-K Y
36: Read block from disk CTRL-K R
37: Write block to disk CTRL-K W

MISCELLANEOUS EDITING COMMANDS:
38:* End edit CTRL-K D
39: Tab CTRL-I
40: Auto tab on/off Nothing
41: Restore line Nothing
42: Find CTRL-Q F
43: Find & replace CTRL-Q A
44: Repeat last find CTRL-L
45: Control character prefix Nothing