[net.micro.pc] XT Async Port Query

GILLMANN@USC-ISIB (04/22/83)

From:  Dick Gillmann <GILLMANN@USC-ISIB>

You're quite right that the BIOS async routine loses characters at
speeds greater than 300 baud.  This is because it just waits for a
character to arrive and then returns it.  If you don't call the
routine often enough, you will lose characters.

To go faster, you have to handle the serial port interrupts yourself.
The PC can handle 9600 baud, but can't quite keep up at 19.2K baud.
I suspect that Basic handles the interrupt itself.

To write your own interrupt handler, you probably want to use
assembler.  But why re-invent the wheel, anyway?  There are lots
of terminal emulator, file transfer and communications programs
for sale at modest prices that do what you want.  Just be sure
they run at 9600 baud before you buy (some don't).  And if you
don't want to spend any money, the Info-IBMPC Free Program Library
has several free ones that you can FTP.

/Dick
-------

jph (04/24/83)

#R:sri-arpa:-105900:whuxlb:6400001:000:913
whuxlb!jph    Apr 24 07:55:00 1983

If you wish to write your own async port handling
software, the best thing to do, besides reinventing the
wheel and writing an interrupt driven device handler,
is to get the IBM Async Communication Support (ACS)
software. This includes a routine which is callable
from BASIC and handles the async port on an interrupt
basis and will allow you to handle the line upto
19.2KB. Documentation on the interface to the routines
is given in version 1.0 of the ACS, but for some reason
in version 2.0, they did not supply it. It turns out to
be very easy to  write an assembly language routine to
interface with other language. That is what I did to
write a terminal simulator in PASCAL. It definitely
saves you a lot of time in trying to implement
something like that and lets you spend time on putting
in bells and whistles.

If anyone would like more information on how to use,
contact me.

Jim Holtman
...!whuxlb!jph