chas@tira.uchicago.edu (Charles Blair) (12/20/90)
I would like a description of the Int 14h protocols so that I can adapt some asynchronous communications software written in 8086 assembly language to run over Ethernet. Can anyone point me to the specs? (I already have the telnet driver I need which would grab the Int 14h I/O.) Is it as simple as converting the program to using Int 14h BIOS calls instead of writing directly to the hardware, or is something else also involved? Thanks. -- Bitnet: pmrcjdb@uchimvs1 Internet: cjdb@midway.uchicago.edu
dzoey@terminus.umd.edu (Joe Herman) (12/20/90)
In article <CHAS.90Dec19185228@tira.uchicago.edu> chas@tira.uchicago.edu (Charles Blair) writes: > >I would like a description of the Int 14h protocols so that I can >adapt some asynchronous communications software written in 8086 >assembly language to run over Ethernet. Can anyone point me to the >specs? (I already have the telnet driver I need which would grab the >Int 14h I/O.) As long as you have a INT14 interceptor that will send your calls over ethernet (by which I assume you mean TCP/TELNET) the documented INT14 interface is all you need to worry about. The parameters for calling INT14 are documented in the DOS Tech Ref and most books on DOS programming. Here's a thumbnail sketch (from memory) AH = 0 ; Initialize - AL = 0x8 even parity, AL = 0x10 ODD parity AH = 1 ; send char - AL = <char> - returns status in AH AH = 2 ; read char - returns <char> in AL AH = 3 ; status - returns (AH & 1) == 1 if char waiting to be read There are also extended calls AH = 4 & AH = 5. These allow a break to be transmitted as well as a more detailed status of the modem (useless). There are probably return codes that I left out of the above, so you're better off finding a reference in a book. Using INT14 over TCP is a little slow. Running kermit over COMTCP (from the MD-DOSIP package. Sorry had to plug) I get about the equivalent of 9600 baud. Hope this helps, Joe Herman U. of Maryland dzoey@terminus.umd.edu -- "Everything is wonderful until you know something about it."
bank@lea.ncsu.edu (Dave The DM) (12/23/90)
In article <CHAS.90Dec19185228@tira.uchicago.edu> chas@tira.uchicago.edu (Charles Blair) writes: > >I would like a description of the Int 14h protocols so that I can >adapt some asynchronous communications software written in 8086 >assembly language to run over Ethernet. Can anyone point me to the >specs? (I already have the telnet driver I need which would grab the >Int 14h I/O.) > >Is it as simple as converting the program to using Int 14h BIOS calls >instead of writing directly to the hardware, or is something else also >involved? > >Thanks. >-- >Bitnet: pmrcjdb@uchimvs1 >Internet: cjdb@midway.uchicago.edu According to the book "System BIOS for the IBM PC/XT/AT" put out by Phoenix Technologies (1989 printing, ISBN 0-201-51806-6, Chapter 12), there are four INT 14h services offerred (Services 04h thru FFh are listed as "Reserved"...the others are listed as being available on all platforms). These are: 00h - Initialize Serial Communications Port 01h - Send character 02h - Receive Character 03h - Read Serial Port Status I won't go into detail of the I/O signals discussed, theory of operation, baud rate, I/O ports used, and error conditions. Check the book out at your local library or buy it from your local computer store...it isn't worth the net bandwidth. I seem to recall the "C Programmer's Guide to Serial Communications" ...or perhaps it was "Microsoft C Run-Time Library Reference" saying something about an effective data transmission rate limitation of 1200 baud due to interrupt overhead and that you'd do better to use your own interrupt hander. I dunno for sure...all the stuff I've written using this service has been polled operation rather than interrupt-driven as I wasn't worried about speed. Dave the DM bank@lea.csc.ncsu.edu