[comp.os.minix] posting of tty.c

clark@ttidca.TTI.COM (Ralph Clark) (06/30/88)

At my site, the two-part posting arrived with two blank lines at the end
of the first article, and two blank lines between the second article's
header and the first line of code, but nevertheless, I have guessed to
incorporate only one blank line at that point in tty.c . If my guess happens
by luck to correspond with AST's listing, then when he distributes a .diff
to anything in the second half, the line numbers will match, and fix won't
reject it.

This potential disparity would seem to argue in favor of distributing
future two-part sources with each part shar'd, so that the poster can
control the real length of each part, and also avoid worrying the
receivers about whether the entire first half made it through the mail.

Nothing in the above should in any way be construed to diminish my delight
at having an official RS232 driver!

-- 
Ralph Clark (clark@ttidca.TTI.COM) {csun|philabs|psivax|trwrb}!ttidca!clark

ast@cs.vu.nl (Andy Tanenbaum) (07/04/88)

In article <2827@ttidca.TTI.COM> clark@ttidca.TTI.COM (Ralph Clark) writes:
>At my site, the two-part posting arrived with two blank lines at the end
>of the first article, and  ...  [in short, mangled]
I'll try to do better next time.  In any event, I'll have to repost it anyway.
I have found and repaired several major bugs.  At the moment when the
system boots, the message: "login: "  appears on the terminal, and you
can actually log in and most things work.  I am still tracing down problems
with CTRL-S and a few things.  I'll report back as soon as I am done.

One question, perhaps somebody can help me.  I sort of have the feeling that
RS232 port 1 uses vector 12 and port 2 uses vector 11.  Is this correct?
I have scoured the IBM XT Reference Manual from cover to cover, and--silence.
If I were designing a PC, I'd do it the other way, but IBM didn't ask me.
There is a minor problem with conflicting interrupt vectors (Ethernet vs.
RS232), but I'll try to make that as modular as I can (e.g., if you don't
compile with the Ethernet flag, you get 2 RS232 ports; if you have Ethernet,
you get one).

You can always change things around yourself fairly easily by modifying the
calls in kernel/main that set the vectors.

Andy Tanenbaum
-- 
Andy Tanenbaum (ast@cs.vu.nl)

paradis@encore.UUCP (Jim Paradis) (07/05/88)

In article <833@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes:
>One question, perhaps somebody can help me.  I sort of have the feeling that
>RS232 port 1 uses vector 12 and port 2 uses vector 11.  Is this correct?

Absolutely correct.  Actually, ports 1 and 3 use vector 12, and ports 2 and
4 use vector 11.  If you have more than one port per vector, you then have
to go and read status registers to figure out exactly who interrupted.

>I have scoured the IBM XT Reference Manual from cover to cover, and--silence.

Not quite silence.  There is a small table of interrupt NUMBERS buried
somewhere in the book... you then have to go to the BIOS source code
listing to get an idea of how interrupt numbers map to interrupt vectors,
and take it from there.

>Andy Tanenbaum (ast@cs.vu.nl)


-- 
Jim Paradis, Encore Computer
(.signature undergoing renovations. Please pardon our appearance.)

jcmorris@mitre-bedford.ARPA (Joseph C. Morris) (07/12/88)

In a recent article ast@cs.vu.nl (Andy Tanenbaum) writes:
>One question, perhaps somebody can help me.  I sort of have the feeling that
>RS232 port 1 uses vector 12 and port 2 uses vector 11.  Is this correct?
>I have scoured the IBM XT Reference Manual from cover to cover, and--silence.

The "standard" interrupt assignment is IRQ4 for COM1 and IRQ3 for COM2.  Most
async adapters these days come with jumpers to select at least IRQ3 or IRQ4;
some offer a wider choice.  I've never seen a spec for interrupts generated
by COM3 or COM4.

IRQ3, as you thought, is interrupt 11 in the processor, and IRQ4 is interrupt
12.  I verified this by looking at some of my notes, but I think the original
PC Tech Reference publication did have it.  On the other hand, a copy of the
PS/2 mod 50 and 60 Tech Reference does identify the uses of the various IRQ
levels, but doesn't seem to map IRQ level to hardware interrupt number.

An *excellent* reference to the various hardware and DOS interrupts is
available from SIMTEL20.ARPA (via anonymous FTP) in the file
PD:<MSDOS.SYSUTL>INTERRUP.ARC  .  It's been updated within the past few
days to include additional software interrupts (DOS, not MINIX), but
it's still useful in summarizing the interface to the BIOS routines.

Joe