bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C


From: BC Sittler
Subject: TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C
Date: Tue, 06 Jan 2004 22:55:03 -0700

Hi,

I recently spent a day or so hooking an old TeleVideo
TVI-920C terminal up to a GNU/Linux-based PC as a serial
console, and made quite a few changes to the existing
terminfo descriptions along the way. These descriptions
also apply to the TVI-912B/920B and to the TVI-912C;
there are minor differences, described in the terminfo
comments.

The most important change is that the default tvi912b,
tvi920b, tvi912c, and tvi920c descriptions no longer use
magic cookies. Instead they put the terminal into a mode
where the non-cookie-producing "half-intensity" attribute
may be used, and use that for both <smso> and <dim>. This
works very well with all sorts of software, including
Emacs, vim, Midnight Commander, jed, lynx, etc. There are
now separate "magic-cookie" (-mc) versions that enable the
troublesome attributes; only a few programs (such as less,
Pine, screen, and the ncurses tack program) seem to work
at all with the magic-cookie versions.

More details:

The reset/initializations were incomplete. In the updated
version a full reset clears the screen (and eliminates all
magic cookies). The normal initialization sequence unlocks
the keyboard, disables auto-flip mode in favor of
scrolling (auto-flip is basically unusable with most Linux
software,) disables direct-to-printer mode, disables
protect mode, and disables the half-intensity/"protected"
attribute.

This terminal requires insane amounts of padding at 9600
baud, especially for insert/delete line operations. One of
my test programs was a high-performance ncurses-based
video game, MyMan (see
http://geocities.com/bsittler/#myman ) -- which
consistently overran the terminal's input buffers during
some scroll operations. Since the terminal doesn't do any
handshaking, this can lead to disaster (both in video
games and elsewhere.) The padding given here seems to work
reliably with tack, emacs, less, vim, jed, lynx, screen,
and myman, as well as with the many ncurses test programs.

This terminal supports several attributes. One of them
(half-intensity, a.k.a "protected") works perfectly, the
rest all generate magic cookies. While a few programs can
deal with a correctly-described magic-cookie terminal
(Pine and less come to mind,) most cannot. The updated
terminfos include both regular and magic-cookie (-mc)
variants; the latter offer far better attribute support,
but only work in some programs. (Note that the updated
description icnludes an <sgr> capability that can vastly
reduce the number of screen cells used by magic cookies.)
The <dim> sequence in the magic-cookie variants includes a
space, in order to produce the magic-cookie space expected
by <xmc>.

This terminal has the second-page memory option installed,
 but the existing terminal description didn't use it for
<smcup>/<rmcup>. While there is a tvi912-2p description,
it uses the non-backward-compatible five-byte sequence
rather than the backward-compatible two-byte sequence to
switch back and forth between pages (the latter degrades
gracefully and can be used on a terminal without the
option or the newer ROM.)

This terminal has a printer port and supports both direct-
to-printer and print-page modes. Neither was described in
the distributed terminfo.

The function keys on the 920 models are actually labelled
F1 through F11, and send different sequences when shifted.
This is very handy for Emacs, midnight commander, etc. The
normal function keys are described as <kf1> .. <kf11>, the
shifted keys as <kf12> .. <kf22> [btw, infotocap doesn't
like to translate <kf11>..<kf22> in comments!]

There was a non-working <flash> sequence in the distributed
terminfo. This has been removed.

And finally, for those who dislike beeping but are loathe
to actually disconnect the terminal's beeper: there are
some "visual bell" (-vb) descriptions with a <bel> sequence
and a <flash> sequence in the "second page" (-2p)
descriptions that simulate a beep by briefly switching to
the alternate memory page. Note that these actually require
the second page memory option to work correctly.

Anyhow, is there any chance that these updated descriptions
might find their way into a future revision of the official
terminfo database?

-Ben

P.S. I do believe a TVI-914 is nothing at all like a TVI-912
or TVI-920. It is far more similar to a TVI-924 and TVI-950.
But that's just hearsay at this point, since I haven't got one
to test :)

P.P.S. This is only hypothesis, but I believe all these
descriptions probably apply to the original TVI-912 and TVI-920
as well, with the possible exception of the padding sizes.

P.P.P.S. While I did have the hardcopy manual at hand, it was
nice to see that there's a PDF scan of it available online; see
the terminfo comments for the URL.

-- 
_______________________________________________
Get your free email from http://www.iname.com

Attachment: tvi920c2.txt
Description: Text document

Attachment: tvi920c2.ti
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]