[comp.sys.apollo] Apollo Termcap

gfink@iris.ucdavis.edu (George Fink) (10/04/90)

Currently, in our apollo lab here, (DN3000 running 10.1), when we need
to edit on an external (non-apollo) machine via rlogin, telnet, etc.,
we are required to run the vt100 emulator to get the full power of
curses, etc.  Unfortunately, this emulator is buggy and also clobbers
many of the nice apollo dm cursor keys and movements, etc.

So seeking to avoid the vt100 emulator, I want to find an accurate
termcap for a pad, such as is created by the command `cp /bin/csh`.
The standard termcap, found in many /etc/termcap files, and labeled as
`apollo`, is incomplete and insufficient.

How do people get around this problem?  I want to run emacs on an
external machine!  Without the emulator crashing every time I exit, or
without phantom characters printing to the screen.

The apollo termcap we are using (and this seems to be on all our local
machines) is:

TERMCAP=z8|apollo:al=\EI:am:bs:cd=\EJ:ce=\EK:ch=\EN%d:cl=^L:cm=\EM%+\040%d):cv=\EO+\040:dc=\EP:dl=\EL:do=\EB:ei=\ER:im=\EQ:mi:nd=\EC:se=\ET:sf=\EE:so=\ES:sr=\ED:te=\EX:ti=\EW:ue=\EV:ul:up=\EA:us=\EU:co#88:li#53:

This does do some things correctly (clear the screen), but actions like
placing the cursor in an arbitrary position do not work.

Thanks for any help anybody can provide, mail me for more details on
any of the above issues.

--George
George Fink			|  gfink@{clover,iris}.ucdavis.edu
University of California, Davis	|  ucbvax!ucdavis!{clover,iris}!gfink

glenn@huxley.huxley.bitstream.com (Glenn P. Parker) (10/04/90)

In article <7755@ucdavis.ucdavis.edu>,
gfink@iris.ucdavis.edu (George Fink) writes:
> How do people get around this problem?  I want to run emacs on an
> external machine!  Without the emulator crashing every time I exit, or
> without phantom characters printing to the screen.

Do an end run around the problem: don't use the buggy vt100 emulator.
Switch to X and use an xterm, which has reasonably good vt100 emulation.

--
Glenn P. Parker       glenn@bitstream.com       Bitstream, Inc.
                      uunet!huxley!glenn        215 First Street
                      BIX: parker               Cambridge, MA 02142-1270

rees@pisa.ifs.umich.edu (Jim Rees) (10/04/90)

In article <7755@ucdavis.ucdavis.edu>, gfink@iris.ucdavis.edu (George Fink) writes:
  Currently, in our apollo lab here, (DN3000 running 10.1), when we need
  to edit on an external (non-apollo) machine via rlogin, telnet, etc.,
  we are required to run the vt100 emulator to get the full power of
  curses, etc.  Unfortunately, this emulator is buggy and also clobbers
  many of the nice apollo dm cursor keys and movements, etc.

The way I do this is with X.  For just a straight vt100 window, use xterm.
For emacs, I recommend you get epoch, the multi-window X based emacs.

You still lose DM features, but with the appropriate keydefs you can at
least cut and paste between X and DM pads.

nazgul@alphalpha.com (Kee Hinckley) (10/04/90)

In article <7755@ucdavis.ucdavis.edu> gfink@iris.ucdavis.edu (George Fink) writes:
>So seeking to avoid the vt100 emulator, I want to find an accurate
>termcap for a pad, such as is created by the command `cp /bin/csh`.

Pads are not terminals.  They are an evolutionary dead-end inspired
by the thought that workstations would make terminals obsolete.

DM pads do not support cursor addressing.

>How do people get around this problem?  I want to run emacs on an
X.
-- 
Alphalpha Software, Inc.	|	motif-request@alphalpha.com
nazgul@alphalpha.com		|-----------------------------------
617/646-7703 (voice/fax)	|	Proline BBS: 617/641-3722

I'm not sure which upsets me more; that people are so unwilling to accept
responsibility for their own actions, or that they are so eager to regulate
everyone else's.

gfink@iris.ucdavis.edu (George Fink) (10/05/90)

In article <GLENN.90Oct4103026@huxley.huxley.bitstream.com> 
glenn@huxley.huxley.bitstream.com (Glenn P. Parker) writes:
>
>In article <7755@ucdavis.ucdavis.edu>,
>gfink@iris.ucdavis.edu (George Fink) writes:
>> How do people get around this problem?  I want to run emacs on an
>> external machine!  Without the emulator crashing every time I exit, or
>> without phantom characters printing to the screen.
> Do an end run around the problem: don't use the buggy vt100 emulator.
>Switch to X and use an xterm, which has reasonably good vt100 emulation.
> --
>Glenn P. Parker       glenn@bitstream.com       Bitstream, Inc.
> uunet!huxley!glenn        215 First Street
> BIX: parker               Cambridge, MA 02142-1270

I don't want to use the buggy vt100 emulator, but due to political 
problems here (we're working on it!) we don't have X, and it is likely
that we won't in the near future.  If somebody had a good manual for
apollo /bin/csh pads, what control sequences are useful for them, etc., 
that would be sufficient!

--George
--
George Fink			|  gfink@{clover,iris}.ucdavis.edu
University of California, Davis	|  ucbvax!ucdavis!{clover,iris}!gfink

weber_w@apollo.HP.COM (Walt Weber) (10/05/90)

In article <GFINK.90Oct4133823@iris.ucdavis.edu>, gfink@iris.ucdavis.edu
(George Fink) writes:
|> I don't want to use the buggy vt100 emulator, but due to political 
|> problems here (we're working on it!) we don't have X, and it is likely
|> that we won't in the near future.  If somebody had a good manual for
|> apollo /bin/csh pads, what control sequences are useful for them, etc., 
|> that would be sufficient!
|> --George

The reason for the existence of the VT100 emulator is because standard
display-manager shell windows consist of an input portion, and a "history"
portion called a transcript pad.  The transcript pad is actually a disk
object (containing the text) which is mapped onto the display.  As a disk
file, operations like "clear to end of line" or "enable highlight" just don't
seem to be appropriate (:-).  Thus, the vt100 emulator reads the output from
a program, parses it for control sequences, and "paints" the characters into
a graphic object.  You'll also see programs like "vctl" and "vsize" which give
the ability to query/modify some of the behaviors of the emulators.

Sorry that the "short answer" is "no cursor control on pads", hopefully you
understand the WHY now.

...walt...

Walt Weber                           Hewlett Packard Response Center
508-256-6600x8315                    Chelmsford, MA, USA
   "The power of accurate observation is commonly called cynicism
    by those who have not got it" -George Bernard Shaw

krowitz@RICHTER.MIT.EDU (David Krowitz) (10/05/90)

There is also a way to use the DM editor to edit files on other non-Apollo
Unix systems. You can use the V2 demo program which is included in the
/domain_examples/streams directory. V2 is a demo IOS type manager which
traps your Apollo I/O stream requests (ie. open-file, read-rec, seek, etc)
and passes them along to a V2 server program running on the non-Apollo
Unix machine. We use a slightly modified version of this demo to allow
our DM editor (or vi, cp, /com/catf, ls -l, etc. for that matter) to
edit files on our Alliant FX/40 running BSD 4.3. We have also used it
in the past on a Sun3/160. It's not great, but it's cheap, available,
and it works well enough for us. Our mods were to loosen up the file
protections a little (the version in /domain_examples requires the UID/GID
numbers in /etc/passwd to be consistant across the machines, we altered
our version to require that the user login-name be consistant instead).


 -- David Krowitz

krowitz@richter.mit.edu   (18.83.0.109)
krowitz%richter.mit.edu@eddie.mit.edu
krowitz%richter.mit.edu@mitvma.bitnet
(in order of decreasing preference)

krowitz@RICHTER.MIT.EDU (David Krowitz) (10/05/90)

You want "Programming with Domain/OS Calls", order number 005506-A00,
pages 5-61, 5-62.

There aren't a lot of control sequences that an Apollo pad will respond
to (pads are, by definition, not tty emulators). They are:

sequence          decimal       action
========          =======       ======
cr                  13          move cusor to start of current line
esc                 27          escape character
ff                  12          make following out start at top of window
                                or window pane
nl                  10          newline - following text starts on a new line
tab                  9          move cursor to next tab stop
bs                   8          move cusor left one char -- only meaningful
                                for fixed-width fonts
esc[line;columnH  6 char seq.   move cursor to specified line, col. If used
                                outside of a frame (ie. in a /bin/csh pad),
                                ignores line number and just moves to column
esc[0K            27 "[" "0" "K" erase line from cursor to end of line
esc[1K            27 "[" "1" "K" erase line from start to cursor
esc[2K            27 "[" "2" "K" erase entire current line
esc[0J            27 "[" "0" "J" erase chars in a frame from cusor to EOL
esc[1J            27 "[" "1" "J" erase from start of line to cusor
esc[2J            27 "[" "2" "J" erase entire frame

No other command sequences are listed that I know of.


 -- David Krowitz

krowitz@richter.mit.edu   (18.83.0.109)
krowitz%richter.mit.edu@eddie.mit.edu
krowitz%richter.mit.edu@mitvma.bitnet
(in order of decreasing preference)

wjw@eba.eb.ele.tue.nl (Willem Jan Withagen) (10/08/90)

In article <4d376814.20b6d@apollo.HP.COM> weber_w@apollo.hp.com writes:
>
>In article <GFINK.90Oct4133823@iris.ucdavis.edu>, gfink@iris.ucdavis.edu
>(George Fink) writes:
>|> I don't want to use the buggy vt100 emulator, but due to political 
[ and more details ]
>
>The reason for the existence of the VT100 emulator is because standard
>display-manager shell windows consist of an input portion, and a "history"
>portion called a transcript pad.  The transcript pad is actually a disk
[ and more details]
>
>...walt...
>
>Walt Weber                           Hewlett Packard Response Center
========>                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I've been rereading the HP response to the open letter (which dated sept. 17th)
and now I wonder if this is one of the OFFICIAL response persons promissed
by Hpollo. 
If this is the case:
1)	Welcome Walt(and 'friends').
2)	Hope to hear a lot more from you on the net.

If this is not the case:
1)	To bad, how long it it going to take?
2)	Still hope to hear more from you.

Another question is: The hotline service => HOW, WHAT and WHERE?
But first I'm going to anoy my sales rep with this question!

Ciao,
	Willem Jan Withagen.

Eindhoven University of Technology   DomainName:  wjw@eb.ele.tue.nl    
Digital Systems Group, Room EH 10.10 BITNET: ELEBWJ@HEITUE5.BITNET
P.O. 513                             Tel: +31-40-473401
5600 MB Eindhoven                    The Netherlands