home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / jsage / znode3 / z3lib / libhl45a.lbr / VLIB.LBR / VLIB2.HZP / VLIB2.HLP
Encoding:
Text File  |  1993-06-07  |  10.3 KB  |  298 lines

  1.  Screen Clearing  - CLS, CLREOS
  2.  Erase to EOL     - EREOL
  3.  Goto XY          - AT, GOTOXY
  4.  Initialization   - VIDINIT, Z3VINIT
  5.  Print            - GXYMSG, VPRINT, VPSTR
  6.  Standout Mode    - STNDOUT, STNDEND
  7.  Term Init        - TINIT, DINIT
  8.  Insert/Delete    - DELLIN, INSLIN
  9.  Test Cursor key  - ISCUR
  10.  Version ID       - VVERS
  11. :CLS - Clear Entire Screen and Home Cursor
  12.  
  13.   ENTER: None
  14.   EXIT :  A <> 0 Zero Flag Reset (NZ) if screen cleared
  15.           A = 0, Zero Flag Set (Z) if fcn Not available
  16.   USES : AF
  17.  
  18.  Usage: Most often used to provide initial entry conditions,
  19.   or to divide functions of a program for ergonomic reasons.
  20.  
  21. CLREOS - Clear from current Cursor Position to End-of-Screen
  22.         leaving Cursor in present position
  23.  
  24.   ENTER: None
  25.   EXIT :  A <> 0 Zero Flag Reset (NZ) if screen cleared
  26.           A = 0, Zero Set (Z) if function Not available
  27.   USES : AF
  28.  
  29.  Usage: Most often used to remove transient information from
  30.   the lower part of a screen while retaining information on
  31.   the upper part.
  32.  
  33. :EREOL - Erase line from cursor position to End-of-Line
  34.  
  35.   ENTER: None
  36.   EXIT :  A <> 0 Zero Flag Reset (NZ) if line erased
  37.           A = 0, Zero Flag Set (Z) if fcn Not available
  38.   USES : AF
  39.  
  40.  Usage: Used to insure that remaining information on a line
  41.   is cleared
  42.  
  43. :AT - Position cursor from In-Line code coordinate positions
  44.  
  45.   ENTER: None.  Address of XY coordinates are on Stack Top
  46.   EXIT : None.  Execution resumes at instr after XY coordinates
  47.   USES : None
  48.  
  49.  Usage: Position the cursor at row and column address pointed
  50.   to by the return address.  Used where the desired Row and
  51.   Column position is known by the program, and does not change
  52.   with program flow.  See GOTOXY for positioning routine that
  53.   may be varied within a program.  Note: There is no checking
  54.   of terminal limits in the Environment.
  55.  
  56. Example:
  57.     EXT    AT        ; Declare the routine
  58.     ...            ; ..other parts of program
  59.     CALL    AT        ; Call the positioning routine
  60.     DEFB    ROW,COL        ; ..Row and Column (1,1 is home)
  61.     ...            ; Program flow resumes here
  62.  
  63. GOTOXY - Position cursor from Row & Column data in registers
  64.  
  65.   ENTER: HL = Desired Cursor position (H=Row, H=Column)
  66.   EXIT :  A <> 0 Zero Flag Reset (NZ) if Cursor positioned
  67.           A = 0, Zero Set (Z) if function Not available
  68.   USES : AF
  69.  
  70.  Usage: Position the cursor at Row (in Register H) and Column
  71.   (in L).  The Home position (Top left corner) is H=1 and L=1.
  72.   When the desired Cursor position is fixed, you may want to
  73.   use AT (above).  (*) Bits 1 and 2 of the new Mode Byte should
  74.   be sensed before positioning to last Column in a Row to avoid
  75.   Screen Wrap/Scroll problems.
  76.  
  77. Example:
  78.     EXT    GOTOXY        ; Declare the routine
  79.     ...            ; ..intervening code
  80.     LD    HL,10*256+3    ; Load coords (Row 10, Col 3)
  81.     CALL    GOTOXY        ; Try to position the Cursor
  82.     JR    NZ,MOVOK    ; ..jump if successful
  83.     ...            ; Else try something else
  84.  
  85. :               VLIB Initialization 
  86.  
  87. VIDINIT - Initialize the VLIB routines to a specified TCAP.
  88.  
  89.   ENTER: HL = Address of a Z3 formatted TCAP
  90.   EXIT : None
  91.   USES : None
  92.   EFFECTS : VIDPTR global ptr is initialized to TCAP, VLIB set
  93.  
  94.  Usage: This routine provides the ability to use a TCAP other
  95.   than that provided in the ZCPR3 Environment.  For added
  96.   safety in programming, you should also set the Z3LIB variable
  97.   ENVPTR to an address pointing to an ENV construct which
  98.   provides terminal parameters to some routines.
  99.  
  100. Example:
  101.     EXT    VIDINIT        ; Declare the routine
  102.     ...            ; ..program initialization code
  103.     LD    HL,(Z3EADR)    ; Load ENV address
  104.     LD    DE,80H        ; Offset to TCAP portion
  105.     ADD    HL,DE
  106.     CALL    VIDINIT        ; ..and initialize VLIB
  107.     ...            ; Carry on with program
  108.  
  109. Z3VINIT - Initialize Z3LIB and VLIB routines for use.
  110.  
  111.   ENTER: HL = Address of a ZCPR3 Environment Descriptor
  112.   EXIT : None
  113.   USES : None
  114.  
  115.  Usage: This routine combines the functions of the Z3LIB
  116.   routine Z3INIT and VIDINIT covered above.  It assumes that
  117.   the TCAP begins 80H (128) bytes after the specified Environ-
  118.   ment pointer passed in HL.
  119.  
  120. Example:
  121.     EXT    Z3VINIT        ; Declare the routine
  122.     ...            ; ..Initial program code
  123.     LD    HL,(Z3EADR)    ; Get the Environment address
  124.     CALL    Z3VINIT        ; ..set ENVPTR and init VLIB
  125.     ...            ; Carry on!
  126.  
  127. :                     Print Routines 
  128.  
  129. GXYMSG - Position Cursor and print text with highlighting
  130.  
  131.   ENTER: None.  Addr of XY coords followed by text on stack top
  132.   EXIT : None.  Execution resumes after text terminating Null
  133.   USES : None
  134.  
  135.  Usage: This routine is used to print a text message at a pre-
  136.   defined location on the Terminal screen.  It is analagous to
  137.   positioning the cursor with AT followed by a string print
  138.   with VPRINT.  Standout and Standend attributes are recognized
  139.   with binary 1 and 2 respectively, binary 3 will Erase to EOL, |
  140.   while binary 4 will clear from the cursor to End-of-Screen.    |
  141.   Note: There is no checking of terminal limits in the ENV.
  142.  
  143. Example:
  144.     EXT    GXYMSG        ; Declare the routine
  145.     ...            ; ..intervening code
  146.     CALL    GXYMSG        ; Print as...
  147.     DEFB    2,15        ; Position to Row 2, Column 15
  148.     DEFB    1,'Hi',2    ; ..and print this message
  149.     DEFB    ' There!',0    ; ...highlighting "Hi"
  150.     ...            ; Execution resumes here
  151.  
  152. VPRINT - Print Null or MSB-terminated Inline text with Attrs    |
  153.  
  154.   ENTER: None.  The String starting address in on Stack Top
  155.   EXIT : None.  Execution resumes after String terminator
  156.   USES : None
  157.  
  158.  Usage: This routine is used to print a text string from Inline
  159.   code with Highlighting ability by enabling STNDOUT mode with
  160.   a binary 1, resuming normal print via STNDEND with a binary 2,|
  161.   Clearing to EOL with a binary 3, and to End of Screen with a    |
  162.   binary 4.  This is VLIB's version of the SYSLIB routine PRINT.
  163.  
  164. Example:
  165.     EXT    VPRINT        ; Declare the routine
  166.     ...            ; ..intervening code
  167.     CALL    VPRINT        ; Print the following line
  168.     DEFB    2,'Hi',1    ; ..hilighting "Hi" and
  169.     DEFB    ' There',0    ; ...the remainder in normal
  170.     ...            ; Execution resumes here
  171.  
  172. VPSTR - Print a Null or MSB-terminated message with Attrs    |
  173.  
  174.   ENTER: HL = Address of Null or MSB-terminated string to print    |
  175.   EXIT : HL = Points to byte after terminating Null
  176.       A = 0, Zero Flag Set (Z)
  177.   USES : AF,HL
  178.  
  179.  Usage: This routine is used to print text messages with High-
  180.   lighting capabilities provided by STNDOUT/STNDEND, Erase to    |
  181.   EOL and Clear to End-of-Screen from locations other than the    |
  182.   executing code.  It is the VLIB corollary of PSTR in SYSLIB.
  183.  
  184. :                    Standout Mode 
  185.  
  186. STNDOUT - Begin Standout mode.  For terminals with Reverse
  187.   Video, this routine will start that mode.  For those with DIM
  188.   or reduced video, use TINIT to set the terminal to that mode
  189.   for normal print, and STNDOUT to place in Normal mode.  DINIT
  190.   should then reverse on exit.
  191.  
  192.   ENTER: None
  193.   EXIT :  A <> 0 Zero Flag Reset (NZ) if Standout Mode Entered
  194.           A = 0, Zero Flag Set (Z) if Not available
  195.   USES : AF
  196.  
  197.  Usage: This mode is used to provide visual attributes for
  198.   better man-machine interface.  CAUTION: Do NOT reposition
  199.   the cursor or issue Carriage Returns or Line Feeds while the
  200.   Standout mode is in effect since unknown effects can occur on
  201.   some types of terminals.  Use STNDEND to disable this mode.
  202.  
  203. STNDEND - End Standout Mode, return to Normal Screen Display
  204.  
  205.   ENTER: None
  206.   EXIT :  A <> 0 Zero Flag Reset (NZ) if Standout Mode Ended
  207.           A = 0, Zero Set (Z) if function Not available
  208.   USES : AF
  209.  
  210.  Usage: This reverses the mode set by STNDOUT above.  See notes
  211.   for STNDOUT
  212.  
  213. :          Terminal Initialization and Deinitialization 
  214.  
  215. TINIT - Initialize terminal for use with VLIB routines
  216.  
  217.   ENTER: None
  218.   EXIT : None
  219.   USES : None
  220.  
  221.  Usage: When writing programs based on VLIB routines, TINIT
  222.   should be called early in the program flow.  If you are using
  223.   video attributes to provide highlighting with STNDOUT/STNDEND
  224.   and your terminal only provides a DIM or reduced-intensity
  225.   attribute, TINIT should set the normal mode to the DIM or
  226.   Reduced mode, and STNDOUT used for normal intensity print.
  227.   The corresponding DINIT should be used to restore normal mode
  228.   just priot to program exit.
  229.  
  230. DINIT - De-initialize the terminal.  Return to Normal
  231.  
  232.   ENTER: None
  233.   EXIT : None
  234.   USES : None
  235.  
  236.  Usage: Normally used to restore terminal default conditions
  237.   upon program termination.  See Usage notes for TINIT.
  238.  
  239. Example:
  240.     EXT    TINIT,DINIT    ; Declare the routines
  241.     ...            ; ..initial program code
  242.     CALL    TINIT        ; Initialize the terminal
  243.     ...            ; ..main program code
  244.     CALL    DINIT        ; Do just before exitting pgm
  245.     JP    EXIT        ; ..and return to normal
  246.  
  247. :DELLIN - Delete the currently addressed line
  248.  INSLIN - Insert a new line at the current cursor position
  249.  
  250.   ENTER: None
  251.   EXIT :  A <> 0, Zero Flag Clear (NZ) if action completed,
  252.           A = 0, Zero Set (Z) if function Not defined.
  253.   USES : AF
  254.  
  255.  Usage: These routines may be used to enhance screen editor
  256.   functions under ZCPR3 with appropriate TERMCAP definitions.
  257.  
  258.  Example:
  259.     EXT    DELLIN,INSLIN    ; Declare the routines
  260.     ...            ; ..pos'n cursor to desired line
  261.     CALL    DELLIN        ; Kill it!
  262.     JR    Z,NOTDONE    ; ..jump if not defined
  263.     ...            ; ..position to new line pos'n
  264.     CALL    INSLIN        ; New line here, push others down
  265.     JR    Z,NOINSL    ; ..jump if not defined
  266.     ...            ; Else continue on
  267.  
  268. :ISCUR - Test character for Cursor Movement Key
  269.  
  270.   ENTER:  A = Character to test
  271.   EXIT :  A = 1..4 (1=Up, 2=Down, 3=Right, 4=Left), Zero Clear
  272.         (NZ) if Character is Cursor key from TCAP or
  273.         WordStar Cursor key
  274.           A = Character, Zero Set (Z) if NOT Cursor key
  275.   USES : AF
  276.  
  277.  Usage: This routine may be called to determine if a character
  278.   is a command to move the cursor Up, Down, Right or Left.
  279.   Both single char commands from the Extended TCAP as well as
  280.   WordStar ^E, ^X, ^D and ^S are checked.
  281.  
  282. Example:
  283.     EXT    ISCUR, CIN    ; Declare some routines
  284.     ...            ; ..preceding code
  285.     CALL    CIN        ; Get a char from the keyboard
  286.     CALL    ISCUR        ; Is it a cursor key?
  287.     JR    Z,NOCUR        ; ..jump if not a cursor key
  288.  
  289. :VVERS - Return the VLIB version number.
  290.  
  291.   ENTER: None
  292.   EXIT : HL - contains VLIB version number (H=major, L=minor)
  293.   USES : HL
  294.  
  295.  Usage: This routine is most often called for debugging or
  296.   documentation purposes to include the VLIB library version
  297.   number linked in programs.
  298.