🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.pc
Article #7807

COM port routines for automatic buffering

#7807
From: Jim Frost
Date: Wed, 03 Sep 1986 23:06
22 lines
1654 bytes
There has been some talk here on routines for reading the COM ports
fast enough to handle high speed communications.  I need help in this,
too.

Here's my question:  What is necessary to set up a procedure to buffer
the COM1 or COM2 port whenever a character has been received?  I know
that you need to set an IRQ (IRQ3 and 4 I think), but will resetting this
harm anything?  If I reset it, how do you return from the interrupt without
blowing up the executing program?

I program extensively in Turbo Pascal and have written routines to
directly read and write the COM ports in order to speed up the process
since the BIOS is much too slow.  I have written resident routines (such
as desktops) so I know how to wedge in Turbo routines (for those of you
reading this who want to know, the first address that does not alter
machine registers will be seg(procedurename) : ofs(procedurename)+7).  If
someone knows the entry conditions on a routine that is called via IRQ,
this should be enough to get me started.

Mail direct or post replies -- if there is sufficient interest, I'll post
the source when complete.
Technical Details
Message-ID: <457@bucsb.bu.edu.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!cmcl2!husc6!bu-cs!bucsb.bu.edu!madd

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!cmcl2!husc6!bu-cs!bucsb.bu.edu!madd
From: madd@bucsb.bu.edu.UUCP (Jim Frost)
Newsgroups: net.micro.pc
Subject: COM port routines for automatic buffering
Message-ID: <457@bucsb.bu.edu.UUCP>
Date: Wed, 3-Sep-86 19:06:39 EDT
Article-I.D.: bucsb.457
Posted: Wed Sep  3 19:06:39 1986
Date-Received: Thu, 4-Sep-86 00:39:11 EDT
Reply-To: madd@bucsb.UUCP (Jim Frost)
Distribution: net
Organization: Boston Univ Comp. Sci.
Lines: 22