; MXT-TV65.MAC -- Version 1.0 -- May 3, 1989
;
; Televideo 965 terminal descriptor for use with MEX Plus
; (commercial version).
;
; Based on the Televideo 950 descriptor by Ron Fowler,
; last revised 01/06/86.
;
; This descriptor can be assembled by MAC or SLRMAC into a HEX
; file.  It may then be loaded into MEX Plus with MLOAD, or the
; filetype may be changed to OVR so that it call be loaded into
; MEX using the INSTALL command and then MEX can be cloned.
;
; The dim and bright strings have been reversed so that MEX will
; display text in bright video.  In addition, the terminal init
; string selects function key set 3, and terminal deinit returns
; the terminal to set 1 (the default set).  You might want to
; change those strings to suit yourself.  The deinit string also
; resets the video attributes.  For the attributes to work correctly,
; you must enter SET-UP and change them from SPACE (the default)
; to NO SPACE.
;
; This file must assemble in 384 bytes or less.
;
; Version 1.0 -- May 3, 1989 -- Initial release.
;       Gene Pizzetta
;       481 Revere Street
;       Revere, MA 02151
;
;       Voice:  (617) 284-0891
;       Newton Centre Z-Node:  (617) 965-7259
;       Lilliput Z-Node:  (312) 649-1730
;
       org     01E80h
;
;
esc     equ     1Bh
;
;------------------------------------------------------------
;
       db      'Televideo 965                   '
       db      24              ; # rows
       db      80              ; # cols
       db      'R'             ; Row, column first ("R" or "C")
       db      'B'             ; Variable, binary x,y ("V" or "B")
       db      31              ; Row offset \ Related to top col # and
       db      31              ; Col offset / top column #, 13 lines below
       db      0               ; XY delay      (all delays in milliseconds)
       db      0               ; CLS delay
       db      0               ; CLREOS delay
       db      0               ; CLRBOS delay
       db      0               ; CLREOL delay
       db      0               ; CLRBOL delay
       db      0               ; CLREOL delay
       db      'N'             ; Y/N Attributes take screen space
       db      'Y'             ; Y/N Attributes can accumulate
       db      'Y'             ; Lower case ok
       db      'Y'             ; Generates control characters (most do)
       db      'N'             ; ANSI compatible
       db      1               ; top row # \ Added to r/c offsets above, 'cause
       db      1               ; top col # / that's how Atlantis database works
       db      0,0,0           ; rsvd
;
; End of fixed area.  The remainder of the record consists
; of variable-length function strings, each terminated in
; a zero.  If your terminal doesn't have a particular
; function, its string should be a "DB 0".
;
       db      30,0            ; home cursor
       db      26,0            ; clear scrn
       db      esc,'=',0       ; xy leadin
       db      0               ; xy separator
       db      0               ; xy end sequence
       db      esc,'Y',0       ; clear from cursor to end of screen
       db      0               ; clear from start of scrn to cursor
       db      esc,'t',0       ; clear from cursor to end of line
       db      0               ; clear from beginning of line to cursor
       db      13,esc,'t',0    ; erase line
       db      esc,'G2',0      ; enter blink mode
       db      esc,'G0',0      ; exit blink mode
       db      esc,'G4',0      ; enter reverse video
       db      esc,'G0',0      ; exit reverse video
       db      esc,'G8',0      ; enter underline mode
       db      esc,'G0',0      ; exit underline mode
       db      esc,'Gp',0      ; enter bright-character mode
       db      esc,'G0',0      ; exit bright
       db      esc,'G0',0      ; enter dim-character mode
       db      esc,'Gp',0      ; exit dim
       db      esc,'G0',0      ; all attributes off
;
; these are keys generated on your keyboard.  If your keyboard
; doesn't generate these keys, these should be "DB 0".
;
       db      5,0             ; cur up key
       db      24,0            ; cur dn key
       db      4,0             ; cur rt key
       db      19,0            ; cur lf key
;
; more codes
;
       db      7,0             ; bell
       db      esc,'E',0       ; insert line on cursor's line
       db      esc,'R',0       ; delete cursor's line
       db      esc,'Q',0       ; insert char at cursor position
       db      esc,'W',0       ; delete char at cursor position
       db      esc,'.3',0      ; cursor on (enabled)
       db      esc,'.0',0      ; cursor off (disabled)
;
; The following are sequences generated by the terminal's
; function keys.  If your terminal doesn't have function
; keys, these should all be "DB 0".  [Function key set 3 has
; no pre-programmed values.]
;
       db      0               ; fk 1
       db      0               ; fk 2
       db      0               ; fk 3
       db      0               ; fk 4
       db      0               ; fk 5
       db      0               ; fk 6
       db      0               ; fk 7
       db      0               ; fk 8
       db      0               ; fk 9
       db      0               ; fk 10
;
; Graphics characters (line drawing).  If your terminal supports
; a graphic character mode, fill in the first two sequences; each
; time MEX prints a graphics character, it prints the enter-mode
; string, followed by the particular graphics character's string,
; followed by exit-graphics.  Some terminals do not have a graph-
; ics or line-drawing mode, but instead use a sequence to print a
; particular graphics character.  If that's the case with your
; terminal, define the enter and exit strings as "DB 0".
;
       db      esc,'$',0       ; enter graphics mode
       db      esc,'%',0       ; exit graphics mode
;
; These are the characters supported by MEX.  If your terminal
; doesn't support line-drawing characters, change each of these
; to a "DB 0".
;
       db      'J',0           ; vertical bar
       db      'K',0           ; horizontal bar
       db      'F',0           ; upper left corner character
       db      'G',0           ; upper right corner
       db      'E',0           ; lower left corner
       db      'H',0           ; lower right corner
       db      'I',0           ; crossed lines
       db      'M',0           ; vbar with right hand extension
       db      'L',0           ; vbar with left extension
       db      'O',0           ; hbar with upper extension
       db      'N',0           ; hbar with lower extension
       db      '.',0           ; small dot
       db      '_',0           ; solid white block
       db      '#',0           ; checkerboard
;
       db      esc,'[7;2v',0   ; terminal init string
       db      esc,'[7;0v',esc,'G0',0  ; terminal de-init string
;
       end