[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Int 14 Fn 8101  - Video Fossil - Open Vfossil                              [V]

   AX = 8101h
   ES:DI -> buffer for application function table (see below)
   CX = length of buffer in bytes

Return: AX = 1954h if installed
       BH = highest VFOSSIL application function supported

Note:  the number of initialized pointers in the application function table
     will never exceed CX/4; if the buffer is large enough, BH+1 pointers
     will be initialized

See Also: AX=8102h

Format of application function table:
Offset Size    Description
 00h   DWORD   -> function to query current video mode (VioGetMode)
 04h   DWORD   -> function to set video mode (VioSetMode)
 08h   DWORD   -> function to query hardware config (VioGetConfig)
 0Ch   DWORD   -> function to write data in TTY mode (VioWrtTTY)
 10h   DWORD   -> function to get current ANSI state (VioGetANSI)
 14h   DWORD   -> function to set new ANSI state (VioSetANSI)
 18h   DWORD   -> function to get curr cursor position (VioGetCurPos)
 1Ch   DWORD   -> function to set cursor position (VioSetCurPos)
 20h   DWORD   -> function to get cursor shape (VioGetCurType)
 24h   DWORD   -> function to set cursor shape (VioSetCurType)
 28h   DWORD   -> function to scroll screen up (VioScrollUp)
 2Ch   DWORD   -> function to scroll screen down (VioScrollDn)
 30h   DWORD   -> function to read cell string from screen (VioReadCellStr)
 34h   DWORD   -> function to read char string from screen (VioReadCharStr)
 38h   DWORD   -> function to write a cell string (VioWrtCellStr)
 3Ch   DWORD   -> function to write char string, leaving attr (VioWrtCharStr)
 40h   DWORD   -> function to write char string,const attr (VioWrtCharStrAttr)
 44h   DWORD   -> function to replicate an attribute (VioWrtNAttr)
 48h   DWORD   -> function to replicate a cell (VioWrtNCell)
 4Ch   DWORD   -> function to replicate a character (VioWrtNChar)

Format of video mode data structure:
Offset Size    Description
 00h   WORD    length of structure including this field
 02h   BYTE    mode characteristics
       bit 0: clear if MDA, set otherwise
       bit 1: graphics mode
       bit 2: color disabled (black-and-white)
 03h   BYTE    number of colors supported (1=2 colors, 4=16 colors, etc)
 04h   WORD    number of text columns
 06h   WORD    number of text rows
 08h   WORD    reserved
 0Ah   WORD    reserved
 0Ch   DWORD   reserved

Format of video configuration data:
Offset Size    Description
 00h   WORD    structure length including this field
 02h   WORD    adapter type
       00h monochrome/printer
       01h CGA
       02h EGA
       03h VGA
       07h 8514/A
 04h   WORD    display type
       00h monochrome
       01h color
       02h enhanced color
       09h 8514
 06h   DWORD   adapter memory size

Format of cursor type record:
Offset Size    Description
 00h   WORD    cursor start line
 02h   WORD    cursor end line
 04h   WORD    cursor width (always 01h)
 06h   WORD    cursor attribute (FFFFh = hidden)

Call VioGetMode with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to video mode data structure (see above)

Return: AX = error code (00h, 74h, 17Eh, 1B4h) (see below)

Values for error code:
 0000h successful
 0074h internal VIO failure
 0163h unsupported mode
 0166h invalid row value
 0167h invalid column value
 017Eh buffer too small
 01A5h invalid VIO parameter
 01B4h invalid VIO handle

Call VioSetMode with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to video mode data structure (see above)

Return: AX = error code (00h, 74h, 163h, 17Eh, 1A5h, 1B4h) (see above)

Call VioGetConfig with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to video configuration data buffer (see above)

Return: AX = error code (00h, 74h, 17Eh, 1B4h) (see above)

Call VioWrtTTY with:
   STACK:  WORD    VIO handle (must be 00h)
       WORD    length of string
       DWORD   pointer to character string to be written to screen

Return: AX = error code (00h, 74h, 1B4h) (see above)

Notes: write wraps at end of line and terminates if it reaches end of screen
   in ANSI mode, ANSI control sequences are interpreted, and this func is
     not required to be reentrant; in non-ANSI mode, the function is
     reentrant and may be called from within an MS-DOS function call

Call VioGetANSI with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to WORD which will be set to 00h if ANSI is off
           or 01h if ANSI is on

Return: AX = error code (00h, 74h, 1B4h) (see above)

Call VioSetANSI with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to WORD indicating new state of ANSI
           00h off
           01h on

Return: AX = error code (00h, 74h, 1A4h, 1B4h) (see above)

Call VioGetCurPos with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to WORD to hold current cursor column (0-based)
       DWORD   pointer to WORD to hold current cursor row (0-based)

Return: AX = error code (00h, 74h, 1B4h) (see above)

Call VioSetCurPos with:
   STACK:  WORD    VIO handle (must be 00h)
       WORD    cursor column
       WORD    cursor row

Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see above)

Note:  if either coordinate is invalid, the cursor is not moved

Call VioGetCurType with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to cursor type record (see above)

Return: AX = error code (00h, 74h, 1B4h) (see above)

Call VioSetCurType with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to cursor type record (see above)

Return: AX = error code (00h, 74h, 1A4h, 1B4h) (see above)

Call VioScrollUp with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to char/attr cell for filling emptied rows
       WORD    number or rows to scroll (FFFFh = clear area)
       WORD    right column of scroll area
       WORD    bottom row of scroll area
       WORD    left column of scroll area
       WORD    top row of scroll area

Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see above)

Call VioScrollDn with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to char/attr cell for filling emptied rows
       WORD    number or rows to scroll (FFFFh = clear area)
       WORD    right column of scroll area
       WORD    bottom row of scroll area
       WORD    left column of scroll area
       WORD    top row of scroll area

Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see above)

Call VioReadCellStr with:
   STACK:  WORD    VIO handle (must be 00h)
       WORD    column at which to start reading
       WORD    row at which to start reading
       DWORD   pointer to WORD containing length of buffer in bytes
           on return, WORD contains number of bytes actually read
       DWORD   pointer to buffer for cell string

Return: AX = error code (00h, 74h, 166h ,167h, 1B4h) (see above)

Call VioReadCharStr with:
   STACK:  WORD    VIO handle (must be 00h)
       WORD    column at which to start reading
       WORD    row at which to start reading
       DWORD   pointer to WORD containing length of buffer in bytes
           on return, WORD contains number of bytes actually read
       DWORD   pointer to buffer for character string

Return: AX = error code (00h, 74h, 166h ,167h, 1B4h) (see above)

Call VioWrtCellStr with:
   STACK:  WORD    VIO handle (must be 00h)
       WORD    column at which to start writing
       WORD    row at which to start writing
       WORD    length of cell string in bytes
       DWORD   pointer to cell string to write

Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see above)

Note:  write wraps at end of line and terminates if it reaches end of screen

Call VioWrtCharStr with:
   STACK:  WORD    VIO handle (must be 00h)
       WORD    column at which to start writing
       WORD    row at which to start writing
       WORD    length of character string
       DWORD   pointer to character string to write

Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see above)

Note:  write wraps at end of line and terminates if it reaches end of screen

Call VioWrtCharStrAttr with:
   STACK:  WORD    VIO handle (must be 00h)
       DWORD   pointer to attribute to be applied to each character
       WORD    column at which to start writing
       WORD    row at which to start writing
       WORD    length of character string
       DWORD   pointer to character string to write

Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see above)

Note:  write wraps at end of line and terminates if it reaches end of screen

Call VioWrtNAttr with:
   STACK:  WORD    VIO handle (must be 00h)
       WORD    column at which to start writing
       WORD    row at which to start writing
       WORD    number of times to write attribute
       DWORD   pointer to display attribute to replicate

Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see above)

Note:  write wraps at end of line and terminates if it reaches end of screen

Call VioWrtNCell with:
   STACK:  WORD    VIO handle (must be 00h)
       WORD    column at which to start writing
       WORD    row at which to start writing
       WORD    number of times to write cell
       DWORD   pointer to cell to replicate

Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see above)

Note:  write wraps at end of line and terminates if it reaches end of screen

Call VioWrtNChar with:
   STACK:  WORD    VIO handle (must be 00h)
       WORD    column at which to start writing
       WORD    row at which to start writing
       WORD    number of times to write character
       DWORD   pointer to character to replicate

Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see above)

Note:  write wraps at end of line and terminates if it reaches end of screen

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson