Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Ralf Brown's Interrupt List (Part 1,2) - int 61 - banyan vines - asynchronous terminal emulation http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 61 - Banyan VINES - ASYNCHRONOUS TERMINAL EMULATION
        AX = 0003h
        DS:BX -> argument block with function number (see below)
Return: AX = status
            0000h successful
            000Bh invalid session ID
            000Ch session not active
            000Dh invalid request type
            000Eh invalid parameters
            000Fh out of heap space
            0010h timeout on send
            0011h Banyan communications error
            0012h session not waiting for host
            0013h session is active
            0014h duplicate suspend session request
            0015h no session suspended
            0016h ring data buffer full
            0017h printer error encountered
            0018h Banyan communications error
            0019h unable to make connection
            001Ah no ring buffer specified at startup
            001Bh service is down
            001Ch invalid service name
            001Dh service is closed
            001Eh invalid connection name
            001Fh max session limit reached for service
            0020h access rights list for connection/dialout does not include
                        this user
            0021h service not responding
            0022h missing telephone number

Format of argument block:
Offset  Size    Description
 00h    BYTE    session ID (00h)
 01h    BYTE    asynchronous interface request number
                00h initialize user buffer pointer information area
                01h send to host
                02h "control monitor"
                03h "flow control data": freeze/unfreeze display, ring buffer
                04h end active session
                05h set session parameter
                06h get session parameter
                07h set tab settings
                08h get tab settings
                09h refresh emulation screen
                0Ah suspend session temporarily
                0Bh restore previously suspended session
                0Ch set state of scroll lock checking
                0Dh exit emulation
                0Eh interrupt on character from host
                0Fh start a session
                10h start/stop printing of data received from host
                11h get file transfer parameters
                12h get connection information
                13h start/stop tracing data traffic in session
                14h interrupt on message from host
                15h reset error
---request=00h---
 02h    WORD    pointer to info area in caller's current DS
                Offset  Size    Description
                 00h    WORD    flags
                                0000h don't read interface's data buffer
                                0001h read data buffer
                 02h    DWORD   pointer to ring buffer
                 06h    WORD    length of ring buffer
                 08h    WORD    ring buffer offset to last byte read by caller
                 0Ah    DWORD   pointer to WORD containing offset of last byte
                                  in ring buffer filled
                 0Eh    DWORD   pointer to screen buffer
                 12h    DWORD   pointer to field containing cursor position
                 16h    DWORD   pointer to terminal status area (see below)
---request=01h---
 02h    BYTE    type
                00h ASCII byte
                01h ASCII string
                02h terminal function code
                03h up arrow
                04h down arrow
                05h left arrow
                06h right arrow
                07h break
 03h  N BYTEs   type-specific info
                Offset  Size    Description
                ---ASCII byte---
                 03h    BYTE    byte to send to host
                ---ASCII string---
                 03h    WORD    length of string
                 05h    WORD    pointer to string
                ---terminal function code (VT52/VT100)---
                 03h    BYTE    function code
                                00h keypad 0
                                01h keypad 1
                                ...
                                09h keypad 9
                                0Ah keypad -
                                0Bh keypad ,
                                0Ch keypad .
                                0Dh keypad ENTER
                                0Eh PF1
                                0Fh PF2
                                10h PF3
                                11h PF4
                ---terminal function code (IBM3101)---
                 03h    BYTE    function code
                                00h PF1
                                ...
                                07h PF8
                                08h Home
---request=02h---
 02h    BYTE    display flag
                00h don't display data received from host
                01h display data
---request=03h---
 02h    BYTE    flow control flag
                00h allow characters to be put into display or ring buffer
                01h don't place any more characters into display or ring buffer
---request=05h,06h---
 02h    BYTE    parameter number
                00h line speed (00h=any, 01h=50, 02h=110, 03h=134.5, 04h=150,
                        05h=300,06h=600,07h=1200,08h=2400,09h=4800, 0Ah=9600)
                01h parity (00h=none, 01h=odd, 02h=even)
                02h duplex (00h=full, 01h=half)
                03h character size (00h=7 bits, 01h=8 bits)
                04h stop bits (00h=1, 01h=2)
                05h XON/XOFF flow control (00h=no, 01h=yes)
                07h intercharacter delay in tenths of a second
                08h interline delay in tenths of a second
                09h auto linefeed (00h=no, 01h=yes)
                0Ah filter control characters (00h=no, 01h=yes)
                0Bh terminal type (00h=VT100,01h=glassTTY,02h=VT52,03h=IBM3101)
                0Ch auto wrap (00h=no, 01h=yes)
                0Dh cursor shape (00h=underscore, 01h=block)
                0Eh character set (00h=UK, 01h=US ASCII)
                0Fh printer port (00h=LPT1, 01h=LPT2, 02h=LPT3)
 03h    BYTE    parameter value (returned for 06h)
---request=07h,08h---
 02h    WORD    pointer to 80-byte buffer in caller's current DS
                  each byte = 00h if no tab, 01h if tab at that position
---request=0Ah---
 02h    WORD    size of session information to be saved
 04h    WORD    pointer to buffer in caller's DS
---request=0Bh---
 02h    WORD    size of buffer into which session info is restored
 04h    WORD    pointer to buffer in caller's DS
---request=0Ch---
 02h    BYTE    check_scroll_lock flag
                00h off
                01h on (display of host data stopped while ScrollLock on)
---request=0Eh,14h---
 02h    DWORD   pointer to routine to be called (0000h:0000h = don't call)
 06h    DWORD   stack pointer to use when call is made
---request=0Fh---
 02h    WORD    pointer to information area in caller's current DS
                Offset  Size    Description
                 00h    WORD    length of service name
                 02h    WORD    pointer to service name in caller's DS
                 04h    BYTE    type of connection
                                (00h=connection name, 01h=dialout)
                 05h    WORD    length of connection name/telephone number
                 07h    WORD    pointer to connection name/telephone number
---request=10h---
 02h    WORD    print capture flag (00h=off, 01h=on)
---request=11h---
 02h    WORD    pointer to info area in caller's current DS
                Offset  Size    Description
                 00h    BYTE    protocol flag (00h none, 01h Kermit)
                 01h    BYTE    direction flag (00h send, 01h receive)
                 02h    BYTE    length of null-terminated PC filename
                 03h    DWORD   pointer to null-terminated PC filename
                 07h    BYTE    length of null-terminated host filename
                 08h    DWORD   pointer to null-terminated host filename
---request=12h---
 02h    WORD    pointer to info area in caller's current DS (see below)
                Offset  Size    Description
                 00h    WORD    length of service name (returned)
                 02h    WORD    pointer to 64-byte buffer for service name
                 04h    BYTE    type of connection
                                00h connection name
                                01h dialout
                 05h    WORD    length of connection name/telephone number
                 07h    WORD    pointer to 64-byte buffer for name/telno
                 09h    BYTE    server line number being used (returned)
---request=13h---
 02h    BYTE    trace flag (00h=off, 01h=on)

Format of terminal status area:
Offset  Size    Description
 00h    BYTE    status of session: 4Eh=oNline, 46h=oFfline, 57h=Waiting
 01h    BYTE    terminal type (00h=VT100, 01h=TTY, 02h=VT52, 03h=IBM3101)
 02h    BYTE    current keypad mode (VT100,VT52 only)
                4Eh ("N") numeric mode
                41h ("A") application mode
 03h  4 BYTEs   current state of LEDs (VT100 only)
                00h off
                01h on
 07h    WORD    line error count
 09h    WORD    primary error code
                0000h no error
                0001h unable to make connection
                0002h communications error, restart session
                0003h async terminal emulation service unavailable
                0004h lost carrier
                0005h all matching lines busy
                0006h no lines defined for connection name
                0007h no dial lines available on server
                0008h no matching dial lines available
                0009h out of heap space
                000Ah service error encountered
                000Bh timed out waiting to connect
                000Ch communications error
                000Dh communications error
                000Eh host want file transferred to/from PC
                000Fh host software changed session parameter
                0010h host software changed tap settings
                0011h host software changed LED indicator
                0012h host software changed display background (secondary error
                        code 00h for white on black, 01h for black on white)
                0013h host software changed display option (secondary error
                        code 00h for off, 01h for on)
                0014h communications error
                0015h communications error
                0016h unable to make connection
                0017h unable to make connection
 0Bh    WORD    secondary error code

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson