home *** CD-ROM | disk | FTP | other *** search
- /===========\
- | NEW14H |
- \===========/
-
- Computing Resource Center
- 2116 Wilshire Blvd. #202
- Santa Monica, Ca. 90405
- Attn: Marty Ross
-
- Release: 2.1, 08/01/84
- By: Marty Ross, at the Computing Resource Center
- System: IBM-PC with standard communications adapter (COM:)
- Requirements: Tested using PC-DOS 2.0/2.1, 128K or larger PC preferred.
- Contribution: Suggested $10.00; puts you on CRC mailing list.
-
- Abstract: NEW14H is a DOS-extension (resident program) which intercepts
- calls made to the BIOS communication application interrupt
- (INT 14H), and adds extended functions to the communication
- repertoire. The program maintains a 32K input buffer, and
- a 255 byte output buffer, and uses both input and output
- hardware interrupts for maximum efficiency.
-
- If none of this makes any sense, then you don't need NEW14H
- unless you are using application software which requires it.
- NEW14H is of primary interest to communication software
- developers only.
-
- Distribution: I am distributing this preliminery version freely,
- in hopes to stimulate interest and feedback. No fee
- may be charged, and this document must accompany the
- program(s) documented herein.
-
- Features: NEW14H provides a more accurate way to read characters from
- the communication port. The application program need not
- keep up on a character basis with the incoming data: a 32K
- circular input buffer is used and always updated while any
- normal PC software executes. If NEW14H is installed on two
- ports, then each port has 32K input buffer so is independant
- from the other device. See extended function calls in .ASM
- excerpt for details on extended functions provided by NEW14H.
-
- Usage: There are three steps necessary to activate NEW14H so that
- it may be used to by application software:
-
- 1.) Initialize PC-DOS
- 2.) Install the NEW14H communication enhancements
- 4.) Initialize the COM: port for desired baud/parity
- (NEW14H DOES NOT DO THIS: USE PC-DOS "MODE.COM")
-
- A typical installation sequence (which can be combined into
- a .BAT file, such as "AUTOEXEC.BAT"):
-
-
- +---------------------------------------------------------+
- | |
- (1) | <ALT>+<CTL>+<DEL> ... |
- | |
- | IBM Disk Operating System |
- | Version 2.xx ... |
- | |
- (2) | A>new14h |
- | NEW14H - 2.x - 08/01/84 - M.Ross @CRC, (C) 1984 |
- | Auxiliary COM1: port driver active. |
- | |
- (3) | A>mode com1:300,n,8 |
- | COM1:300,n,8,- |
- | |
- | A>_ |
- | |
- +---------------------------------------------------------+
-
- Why NEW14H?: NEW14H was written because the BIOS counterpart is severely
- deficient, and does not even use the powerful interrupt cap-
- abilities on the communication devices used in the IBM-PC.
- NEW14H intercepts the common calls made to the BIOS services
- for async communication, and although not tested for transp-
- arency, was modeled after the old INT 14H so that existing
- application software can take advantage of the enhancements
- provided without modification. Additional calls provided by
- NEW14H also add a degree of power to the INT 14H system inter-
- rupt which software developers can use for convenience, and
- power which previously was possible only by taking care of
- all the details of communication themselves, detracting from
- their overall purpose.
-
-
- Disclaimer: Though I've tested INT14H under varying conditions, I cannot
- guarantee that it will work in every case/PC configuration.
- Also, I suggest you use caution when using INT14H in new
- situations (on two ports, etc): I will not be liable for any
- damage caused by NEW14H, but would like to be informed if any
- undesireable interactions occur. Please write me.
-
-
- On-line help: For on-line info, type "NEW14H ?" which will cause the following
- display:
-
- +----------------------------------------------------------------------+
- | syntax: |
- | new14h [port#] |
- | port#: |
- | 1 - COM1: |
- | 2 - COM2: |
- | |
- | You can use the PC-DOS "MODE" command to initialize |
- | or change the channel baud rate, and parity settings |
- | (e.g. "MODE COM1:300,E,7"). |
- | |
- | The communication channel will occupy approximately |
- | 33K of memory, and will remain active until CTL-ALT-DEL. |
- | |
- +----------------------------------------------------------------------+
-
- which indicates that you may install NEW14H on either the COM1: or
- the COM2: port by specifying the port number.
-
- NOTE: As indicated above, NEW14H does not automatically initialize
- the selected communication port for baud rate or parity set-
- tings. Use the PC-DOS 'MODE' command for this purpose BEFORE
- attempting to use the port for communication.
-
-
- Technical specs: (excerpt from source program):
- ----------------
-
- TITLE NEW14H - Enhanced communications driver for COM adapter
-
- NEW14H - Replacement driver for PC BIOS INT 14 call.
-
- NOTICE: This code the property of the Computing Resource Center, a
- Santa Monica based data processing firm. It may not be sold
- or modified without the explicit permission of Marty Ross, at CRC.
-
- Defines interrupt driver COMmunication "channel," and intercepts
- INT 14H for UART INIT, character READ/WRITE, and other added functions.
-
- NOTE: This version supports only one buffer configuration:
-
- 256 byte OUTPUT buffer
- 32K byte INPUT buffer
-
- Both lists are treated as circular character lists, and an error
- return is indicated for output overflow by the TIMEOUT BIT, and
- and the value EOF in AL. Application must process incoming data
- fast enough so as not to allow more than 32K (size of input buffer)
- of data to remain un-processed (READ via RECV_CODE function call).
-
- functions intercepted (replaced):
-
- code(AH) function added feature(s)
-
- 0 INITIALIZE UART Re-enables interrupt system
- 1 SEND CHARACTER Interrupt driven, buffered.
- 2 RECEIVE CHARACTER Interrupt driven, buffered.
- NOTE: will HANG for TIMEOUTCNT
- 3 RETURN MSR & LSR
-
- as with old INT 14H, B7 of AH returned is timeout bit (as per TIMEOUTCNT),
- and AH will always return with value of line status (bits 0-6).
-
- added functions:
-
- 80h RETURN VERSION NUMBER OF THIS DRIVER IN AH, AL.
- MAJOR VERSION # WILL NOT EXCEED 9, SO IF AH RETURNS
- WITH VALUE > 9, THIS PROGRAM IS NOT INSTALLED AND
- 'ADDED' SUB-FUNCTIONS (BELOW) SHOULD NOT BE USED.
- 84h RETURN SIZE OF COMMUNICATION BUFFER
- 85h FLUSH COMMUNICATION BUFFER
- 86h CHECK FOR ANY CHARACTERS IN BUFFER/RETURN Z IF NONE
- IF CHAR(S) EXIST, FIRST CHAR RETURNED IN AL
- 87h SEND BREAK SIGNAL OVER SELECTED PORT
- 88h RETURN 0 in AX if no chars in buffer, else non zero
- 89h Re-ENABLE interrupts (after initializing baud rate)
- (since we don't intercept SET BAUD RATE function,
- must use BIOS' which disables our interrupts!).
- 8AH This call allows caller to predict whether I/O is
- currently taking place (at the device level). If
- char(s) received since last call, AL will be NZ.
-
- As usual (for INT 14H), DX must contain PORT # (0,1 valid).
- I.E. 0=COM1, 1=COM2, etc.
-
-
- About the Author:
-
- Marty Ross is a consultant for the Computing Resource Center,
- a Santa Monica based data processing firm. CRC uses the IBM
- VM/SP operating system to provide its clients with an inter-
- active method to access popular data handling facilities,
- such as SAS, PL/1, FORTRAN, and the On-Line Data System, CRC's
- own database management product. Recently, CRC has purchased
- IBM-PC's to link many of its remote clients to the mainframe
- system. To facilitate compatibility with other microcomputers
- and terminals, CRC has operated a public access DEMOnstration
- account and bulletin board system where anyone with a terminal
- can call to find out about our services, rates, or expertise.
- Because of this, keep your eye out for more communication
- software from CRC: especially if interested in the elusive
- "micro -> mainframe link" which seems to be in a state of
- constant re-definition in other data processing circles.
-
-
- ----------------------------
-
- [1] NEW14H will be destroyed by programs such as BASIC or BASICA which
- re-define the communication interrupt driver(s).
-
- ------------------------------------------------------------------------------
-
- /========\
- | NEW14H |
- \========/
-
- Comments?
- Can you use NEW14H?
-
-
- Name: _________________________________________________________
-
-
- Address: _________________________________________________________
-
- _________________________________________________________
-
- _________________________________________________________
-
-
- ---------------------------------------------------------
-
-
- Comments: _________________________________________________________
-
- _________________________________________________________
-
- _________________________________________________________
-
- _________________________________________________________
-
- _________________________________________________________
-
- _________________________________________________________
-
- _________________________________________________________
-
- _________________________________________________________
-
- _________________________________________________________
-
- _________________________________________________________
-
- _________________________________________________________
-
-
- If you feel NEW14H contributes to your effectiveness, then please let
- me know by sending a donation of $10.00 or whatever you feel is ap-
- propriate. NEW14H was developed in my spare time, and is now not a
- commercial effort of CRC. I will continue to develop products like
- NEW14H for those who show interest - provided I can afford it. Users
- who make contributions will be entitled to a single sided diskette
- of other utilities I've developed while at CRC: please include your
- name and return address when sending donations!
-