From: "John Henderson" 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: 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