Mail Archives: djgpp/2003/02/05/02:00:12
| From:  | "John Henderson" <jhenRemoveThis AT bigpond DOT com>
 | 
| Newsgroups:  | comp.os.msdos.djgpp
 | 
| Subject:  | Determining interrupt vector for serial port
 | 
| Date:  | Wed, 5 Feb 2003 17:45:21 +1100
 | 
| Organization:  | no affiliation
 | 
| Lines:  | 28
 | 
| Message-ID:  | <b1qcar$16070j$1@ID-83062.news.dfncis.de>
 | 
| NNTP-Posting-Host:  | 144.139.221.85
 | 
| X-Trace:  | fu-berlin.de 1044427932 39853075 144.139.221.85 (16 [83062])
 | 
| X-Priority:  | 3
 | 
| X-MSMail-Priority:  | Normal
 | 
| X-Newsreader:  | Microsoft Outlook Express 6.00.2800.1106
 | 
| X-MimeOLE:  | Produced By Microsoft MimeOLE V6.00.2800.1106
 | 
| To:  | djgpp AT delorie DOT com
 | 
| DJ-Gateway:  | from newsgroup comp.os.msdos.djgpp
 | 
| Reply-To:  | djgpp AT delorie DOT com
 | 
As a retired programmer, I'm still an absolute novice where PC
internal architecture is concerned.  But I'm learning and I'm
stuck.
I'm using DJGPP and writing a program which involves servicing
serial ports.  I've developed a working ISR that compiles with
gcc, and I'm satisfied it runs correctly.
I'm also aware that I can read COM1's address with the C command:
 addr =  _farpeekw(_dos_ds, 0x400);
(and using 0x402 to 0x406 instead for COMs 2 to 4).
But I've been unable to discover how to "read" the associated IRQ
value for each port.  So far I've found them hardcoded as 4, 3,
4, 3 respectively in all examples.  But I've got to look no
further than my own PC to find COM3 using IRQ5 (on an ISA card).
How does a program discover this?
In the interests of robust software, is someone able to help me
move forwards here?
TIA
John
- Raw text -