🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc.programmer
Article #676

Re: talking to com port with C

#676
From: Tom Boutell
Date: Sun, 10 Jun 1990 14:14
39 lines
2719 bytes
Well, hang on- this is sort of a "yes, no, maybe" question. If you use INT14
to talk to the serial port, the results are going to depend on two major
things: (1) how well the BIOS you're using was written, which you have
no control over, or (2) how fast your CPU is anyway, which you have no
control over.

Basically, if you're going to use INT14, you're giving up interrupt- driven
I/O- ie, you *will* lose characters during disk I/O. If your processor is
fast, you probably won't lose anything in a continuous polling loop, but
that will vary from BIOS to BIOS, machine to machine.

In addition, some BIOSes (BIOSi?) may well be written to provide interrupt-
driven service. But this is NOT a given and the standard IBM BIOS doesn't
do this.

One solution: get ahold of a FOSSIL driver. FOSSILs are device drivers
created for the Fido/ Opus family of BBS software (Fido/ Opus Standard
Serial Interface Layer), and they replace INT 14 with a much more extensive
set of routines. The basic INT 14 calls are still available, but are now
interrupt- driven and much more practical, and there is a very large list
of additional features in the spec. You can find a fossil, most likely,
on any fido or opus board; if you don't see it listed ask the sysop. Some
of the major fossil authors will negotiate very reasonably where including
their work in yours is concerned. I struck such a deal for my own (defunct)
BBS software without any difficulty. Another advantage: they are available
for most nonstandard MSDOS computers as well.

Another solution: use some other set of serial comm routines. I have one,
which I can send you if you like- I put it in public domain, folks, relax
(this is not an ad). It's very stripped- down- it just gets the job done,
with interrupt- driven input.

Good luck!

--
CRANBERRIES! ALBUQUERQUE! This is the start of the end of the beginning of
the middle of the last day of the first part of your life! NEWSPRINT GALORE!
Disclaimer: Datclaimer. Elvis is alive and doing my laundry. Turn down
your air guitar, I can't see the band! I lied, he's dead. Have a #$&$( day.
Technical Details
Message-ID: <21619@nigel.udel.EDU>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!news-server.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!pt.cs.cmu.edu!rochester!udel!freezer!boutell
References: <2913@hsv3.UUCP> <4811@pegasus.ATT.COM> <14@csource.OZ.AU> <90160.190621JXS118@psuvm.psu.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!news-server.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!pt.cs.cmu.edu!rochester!udel!freezer!boutell
From: boutell@freezer.it.udel.edu (Tom Boutell)
Newsgroups: comp.sys.ibm.pc.programmer
Subject: Re: talking to com port with C
Message-ID: <21619@nigel.udel.EDU>
Date: 10 Jun 90 14:14:10 GMT
References: <2913@hsv3.UUCP> <4811@pegasus.ATT.COM> <14@csource.OZ.AU> <90160.190621JXS118@psuvm.psu.edu>
Sender: usenet@udel.EDU
Reply-To: boutell@freezer.it.udel.edu (Tom Boutell)
Organization: University of Delaware -- 040 Smith Sun Lab
Lines: 39