home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
bbs
/
bpq402a
/
int14.doc
< prev
next >
Wrap
Text File
|
1990-04-06
|
5KB
|
161 lines
The following contains information extracted from AA4RE's MBBIOS
Documentation. It has been modified to conform to my COMBIOS
emulation.
MBBIOS supports the standard INT 14 calls plus the extended ones as
defined by Jeff Jacobsen, WA7MBL for his BBS program. These are
explained below. AH=0 to AH=3 are identical to the IBM BIOS definition.
DX must contain the port number, which start at zero, so for COM1 set
DX=0, COM2 set DX=1, etc.
AH = 0 Initialize
---------------------
This is provided for compatibility only. It has no effect except to
return the current (virtual) LSR in AH, bit zero of which is set if
any characters remain in the rx buffer, and virtual MSR in AL.
THE MSR BITS SUPPORTED ARE DCD=CONNECTED
CTS=NOT BUSY
AN ATTEMPT IS ALSO MADE TO MAINTAIN DELTA BITS
BIT 7 - Receive Line Signal Detect (DCD)
6 - Ring Indicator (Not supported)
5 - Data Set Ready (Always on)
4 - Clear To Send
3 - Delta RLSD ( ie state has changed since last
access)
2 - Not Supported (Trailing Edge Ring Detect)
1 - Not Supported (Delta DSR)
0 - Delta CTS
AH = 1 Send Character
-------------------------
AL contains the character to send. Return values are the same as above.
AH = 2 Receive Character
----------------------------
On return, AL contains the character received. AH contains the
virtual LSR. Again, AH bit 0 indicates if there is additional characters
in the buffer. This routine does NOT timeout while waiting for a character
but will hang indefinitely waiting for a character to appear.
AH = 3 Return Status
------------------------
Return values are the same as returned by the Initialize routine.
AH = 4 Inquiry
------------------
Returns AX and BX set to 0AA55H. This call is used to see if the
particular port is defined in TNCPORTLIST. Note that COMBIOS/MBBIOS
set AX, but not BX
AH = 5 Drop RTS
-------------------
This drops (virtual) DTR and RTS. Will stop higher level code sending
any more data into the receive buffer. No return value.
AH = 6 Raise RTS
--------------------
Raise DTR and RTS. No return value.
AH = 7 Send Break
---------------------
Generates a "Break". Returns the virtual TNC to Command mode from Converse
or Transparent mode. No return value.
AH = 8 Non-destructive Read
-------------------------------
Returns the next character in the buffer in AL without removing it from
the buffer. AH value defined as in AH=2 so you can use the Data Ready
bit to check to see if you really did get a character.
AH = 9 Set/Get options
--------------------------
Not implemented.
The following functions have been implemented to support AA4RE BBS,
using PK Hostmode. They should work in normal mode, but have not been
tested very extensively!
AH = A Write buffer
-----------------------
Sends CX characters starting at DI:ES. Upon return, DI will be updated
and CX will contain the unsent character count. Unsent characters could
result from either BUFFER FULL or hardware handshake is OFF. AX will
be set as in AH=3 (Status) above.
AH = B Read buffer
------------------
Receives up to CX characters starting at DI:ES. Upon return, CX set to
actual count read and DI is updated. If the buffer is empty, return is
immediate with CX = 0. The function will return a 'logical' line, up
to a CR in normal mode, or 17H in Host Mode. On return, AL contains the MSR
and AH has the virtual LSR. Again, AH bit 0 indicates if there are additional
characters in the buffer.
The following additional 'COMBIOS' calls are supported in versions
3.50 and above.
AH = 1F - G8BPQ NODE-SPECIFIC COMBIOS EXTENTIONS
------------------------------------------------
AL = 0 - Return Version and Node DS
Returns: AX=Node data segment
DH=Major Version
DL=Minor Version - ie for version 3.50, DH=3, DL=50
AL = 1 - Return ES:SI pointing to connected call (in AX25 firm), or
SI=0 if not connected. If connected, returns session type
in AH, and port number (if L2 session) in AL. Session
type is a bit significant field defined as follows:
;
; CIRCUITTYPE EQUATES
;
L2LINK EQU 1
SESSION EQU 10B
UPLINK EQU 100B
DOWNLINK EQU 1000B
HOST EQU 10000B
AL = 2 = Return (in AH) number of unacked packets on connection
AL = 10H Disconnect user form virtual TNC, and return user to Node
The segment registers are saved, (unless retuning a value), but other
registers may be destroyed.