>>>> "John" == John Lawson
<jpl15(a)panix.com> writes:
John> On Tue, 4 May 2004, Jay West wrote:
> Ok, the post from Kevin reminds me of a VT220
question I've been
> wondering for some time. Is there a "BREAK" key on the vt220
> terminal???? I can't find it, nothing is labelled "break". I'm not
> looking for a key combo that interrupts a specific host platform
> like ^C or ^P or something, I want to generate a real electrical
> "BREAK" signal via the keyboard. What is it?
John> Well, two things. First, a 'real electrical "BREAK" signal'
is
John> not a signal per se, but a momentary interruption in the actual
John> signal current flowing in the terminal circuit. This makes
John> sense in a 'current loop' environment, such as DC-loop teletype
John> circuits. ...
John> I am not sure that the newer 20ma current loop devices -
John> ASR33s, and DEC (and other) devices that use 20ma loop serial -
John> will use this actual electrical 'break' for an "ATTENTION"
John> signal. Anyone...?
Yes, they do. In the ASR33, Break functions exactly as you described
it. On newer devices, Break is generally defined as "open the circuit
for several character times" or "open the circuit for at least 200
ms", something like that.
John> On my VT220, as connected to a VAXStation 3100, depressing the
John> 'BREAK' key on the LK401 causes an immediate processor halt and
John> the display of a monitor prompt... >>> . Since I have it
John> hooked up using the RS232 port, and since there is no such
John> thing as a real interrupting 'break' in RS232 - it must be some
John> other code... or, is it?
Break most definitely IS defined on RS232. There's a one to one
correspondence between current loop and RS232 levels: closed loop is
mark and open loop is space, and mark and space correspond to the two
RS232 signal levels. (I may have mark and space reversed... the
McNamara book has all this but it's buried.)
So Break defined as "send space for > 200 ms" works perfectly well in
RS232. The UARTs at the computer end either recognize break directly
and report it explicitly, or (in older ones) the driver uses a
definition of the form "if I get a framing error associated with a
character code 0xff, it's a break".
On DEC consoles, Break has traditionally been the "talk to the console
microcode" attention signal. On other terminal lines, Break if often
translated to control/C (it is on RSTS, for example, or at least it
can be configured that way).
Every DEC terminal I know of has support for Break for this reason.
paul