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