home *** CD-ROM | disk | FTP | other *** search
- 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.
-
-