home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / beehive / utilitys / swdemo15.arc / SWNEWTCP.ASM < prev    next >
Assembly Source File  |  1991-08-11  |  5KB  |  134 lines

  1. ;*********************************************************
  2. ;
  3. ; SWIND Windowing Library Demo
  4. ; Eugene Nolan
  5. ;
  6. ; For the users of non-Z3 systems, this
  7. ; file is an overlay for the SWIND demo
  8. ; program that allows you to specify to the
  9. ; demo your terminal capabilities under control of the
  10. ; TCAP proposal as shown in NZ3-TCAP.LBR
  11. ;
  12. ; It is meant to be assembled to a .HEX file and
  13. ; overlayed upon the Demo .COM file.
  14. ;
  15. ; Mload Demo=Demo.com,newtcp.hex
  16. ;
  17. ; The only capabilities that the demo require is
  18. ; the cursor move and clear screen. If your terminal
  19. ; has some sort of standout video mode, that will be
  20. ; made use of, but is not required.
  21. ;
  22. ; Terminal Capabilities Data
  23. ;
  24.     org    10bh
  25.  
  26.     db    10            ;Proc speed in MHZ
  27. ;********************************************************************
  28. ; This is the revised HFB Z3 Termcap proposal for VLIB.  There were
  29. ; a few goofs in the original proposal (missing nulls and the like)
  30. ; that are corrected here.  As well, a few things have been removed
  31. ; or combined.
  32. ;
  33. ;        Harold F. Bower
  34. ;        P.O. Box 313
  35. ;        Ft. Meade, MD  20755
  36. ;
  37. ; Additional notes and revisions by Cameron W. Cotrill
  38. ;********************************************************************
  39. ;
  40. ESC    EQU    27        ; Escape character
  41. ;
  42. ; New Terminal Capabilities Data
  43. ;
  44. TCNAME:    DB    'NOLAN          ' ; Name of terminal (15 chars)
  45. ;
  46. ; This byte differs from the WS4PAT proposal.  I suggest this byte be
  47. ; used as eight binary flags.  Definitions suggested are:
  48. ;        When set / When clear
  49. ;   B0 - Reverse / Highlight - Dim
  50. ;    1 - Wraps at End-of-Line / No Wrap at EOL
  51. ;    2 - Scroll at End-of-Page / No Scroll at EOP
  52. ;    3-7 RFU
  53. ;
  54. TRMMOD:    DB    00000111B    ; 8 Flags bits.        N/U
  55. ;
  56. ; No single character arrow keys on my terminal, use the WordStar diamond.
  57. ; Note: in the Graphics Libs, cursor right and left were reversed.  This
  58. ;  is changed back here to the "normal" ZCPR definitions.
  59.  
  60. ; NOTE: the comment N/U means SWIND does not need this function, but if null,
  61. ;    then supply a 0
  62. ; NOTE: the comment U/NR means SWIND will use it if it is there
  63.  
  64.     DB    'K'-'@'            ;Cursor UP    N/U
  65.     DB    'J'-'@'            ;Cursor DOWN    N/U
  66.     DB    'L'-'@'            ;Cursor RIGHT    N/U
  67.     DB    'H'-'@'            ;Cursor LEFT    N/U
  68.     DB    00            ;CL Delay
  69.     DB    00            ;CM Delay    N/U
  70.     DB    00            ;CE Delay    N/U
  71.     DB    1bh,'H',1bh,'J',0    ;CLear screen String
  72.     DB    1bh,'Y%+ %+ ',0        ;Cursor Move string
  73.     DB    1bh,'K',0        ;Clear to Eol String   N/U
  74. ;
  75. ; Terminal definitions need clarification.  If your STNDOUT/STNDEND uses
  76. ; DIM capabilities, TINIT should set the terminal for DIM, STNDOUT sets
  77. ; for Normal.  DINIT should restore the terminal to normal video
  78. ;
  79.     DB    1bh,5,0            ;Start standOut String   U/NR
  80.     DB    1bh,6,0            ;Stop standout E String  U/NR
  81.     DB    0            ;TI String
  82.     DB    0            ;TE String
  83. ;
  84. ; Extensions to Standard TCAP
  85. ;
  86.     DB    ESC,1,0        ; DL - Line Delete    N/U
  87.     DB    ESC,2,0        ; IL - Line Insert    N/U
  88.     DB    ESC,'J',0    ; CD - Clear to End of Screen String  N/U
  89. ;
  90. ; At this point, I propose to provide some capabilities of GRXLIB
  91. ; by adding some features as:
  92. ;
  93. ; NOTE My terminal does not support graphics, but the following
  94. ;      five codes ARE USED by SWDEM15Z. If yours supports none
  95. ;      of them, set all five to a single 0 entry.
  96. ;    Eugene Nolan
  97.  
  98.     DB    00          ; GO/GE - Graphics Mode On/Off Delay
  99.     DB    0        ; GS - Graphics Mode On
  100.     DB    0        ; GE - Graphics Mode End
  101.     DB    ESC,9,0        ; CDO - Cursor display off
  102.     DB    ESC,8,0        ; CDE - Cursor display enable
  103. ;
  104. ; If there is enough interest and we can have the source code released,
  105. ; I will volunteer to modify and integrate the code for the following
  106. ; GRXLIB functions.  
  107. ;
  108. ; If no terminal uses more than one character to print these characters, 
  109. ; they may be consolidated into a table with relative indices for 
  110. ; standardized functions (e.g. 1=upper left corner, 2=upper right corner,
  111. ; etc) at a savings of 13 bytes (better than 10% of the TCAP).
  112. ;
  113.     DB    '+',0        ; GULC - Upper Left Corner String [*]
  114.     DB    '+',0        ; GURC - Upper Right Corner String [*]
  115.     DB    '+',0        ; GLLC - Lower Left Corner String [*]
  116.     DB    '+',0        ; GLRC - Lower Right Corner String [*]
  117.     DB    '-',0        ; GHL - Horizontal Line String [-]
  118.     DB    '|',0        ; GVL - Vertical Line String [|]
  119.     DB    '*',0        ; GFB - Full Block String [*]
  120.     DB    '#',0        ; GHB - Hashed Block String [#]
  121.     DB    '+',0        ; GUI - Upper Intersection [+]
  122.     DB    '+',0        ; GLI - Lower Intersection [+]
  123.     DB    '+',0        ; GIS - Intersection [+]
  124.     DB    '+',0        ; GRTI - Right Intersection [+]
  125.     DB    '+',0        ; GLTI - Left Intersection [+]
  126. ;
  127. ; At this point, if enough space remains in TERMCAPS, we might consider
  128. ; more "Bells and Whistles" or implementing the GRWLIB windowing functions
  129. ; if there is enough call for them.
  130. ;
  131.     ds    80h-($-TCNAME)
  132. ;
  133. ;
  134.