[net.micro] Osbourne Termcaps

chris@rand-unix@sri-unix.UUCP (08/04/83)

I have just completed downloading and testing MODEM7 and OTERM on my
Osborne I, and adjusting their parameters to match a termcap.  The
Osborne I documentation claims that its screen handlers were designed
to emulate a Televideo (no number given) terminal, so I used the
tvi920 termcap supplied in our resident /etc/termcap file as follows
for the file accessed by my source command:

#
stty tabs new cr0 nl0 ff0 erase 
echo -n ')m'
set term=TV52
setenv TERMCAP 'TV52:if=/usr/lib/tabset/std:\
	:al=33*\EE:am:bs:ce=\ET:cm=\E=%+ %+ :cl=^Z:co#52:dc=\EW:dl=33*\ER:ei=:\
	:ku=^K:kd=^J:kl=^H:kr=^L:k0=^A@\r:k1=^Aa\r:k2=^Ab\r:k3=^Ac\r:\
	:k4=^Ad\r:k5=^Ae\r:k6=^Af\r:k7=^Ag\rk8=^Ah\r:k9=^Ai\r:\
	:ho=^^:im=:ic=\EQ:li#24:nd=^L:pt:se=\Ek:so=\Ej:up=^K:us=\El:us=\Em:\
	:ma=^K^P^L :sg=1:ug=1:'

Note that co# has been changed from 80 to 52; this is the only change I
made in using the termcap.  For OTERM it is necessary to turn off the
CIS, wordwrap, ff clr and auto lf options, and turn on the console control.
Depending on whether you are using a program which accesses the curses
package, you may or may not want the bsdel option on.  With bsdel turned
off, and the other console options set as stated, I was able to use both
the current version of the Rand editor and rogue successfully: rogue
generated screens 52 x 24 (aha! fewer moves between rooms!) and e was
able to handle multiple screens as well, (although you have to experiment
to find out all the special function key codes).

Occassionally in listing files with print formatting statements (control
characters printed to the screen) the Osborne dim, underline and graphics
modes are inadvertently set, so I "clean" it by running a small c program
resident on my host computer (in this case, a Vax 780) which prints the
the undim, nounderline, and no graphics controls
to my Osborne screen.  This usually clears up any problems.

	      main()
	      { putchar(27);
		putchar('m');     /* underline off */
		putchar(27);
		putchar('(');     /* bright on     */
		putchar(27);
		putchar('G');     /* graphics off  */
	      }

Note: set the CIS for OTERM off **before** using a program involving
a screen package; for some reason, setting this variable while in either
e or rogue hung the program, which would then accept only ^C to interrupt
the process, but no other characters.