home *** CD-ROM | disk | FTP | other *** search
- ;Z29.A86
- ;Data file for IBM to Z29 character and attribute conversion.
- ;4-17-85
-
- ; Format: 0. 256 byte preamble (may contain ASCII "sign-on").
-
- ; 1. 256 byte CHARACTER TRANSLATE table,
- ; giving the character to be used in place of the
- ; corresponding IBM character.
-
- ; 2. 256 * 2 byte (1 word per entry) table of word-pointers
- ; to strings which must be output BEFORE sending the
- ; character in question. For instance, on a Z29, the
- ; escape sequence to go into graphics mode must
- ; precede many of the characters.
-
- ; 3. 256 * 2 byte (1 word per entry) table of word-pointers
- ; to strings which must be output AFTER sending the
- ; character in question. (e.g., to leave graphics mode).
-
- ; 4. 256 * 2 byte (1 word per entry) ATTRIBUTE table
- ; consisting of word-pointers to strings which invoke
- ; terminal modes corresponding to IBM attributes (e.g.,
- ; inverse-video).
-
- ; 5. 13 * 2 byte (1 word per entry) CURSOR table, giving pointers
- ; to strings which perform screen and cursor functions:
- ; 0. CURPOSN -- ptr. to cursor positioning string;
- ; 1. CLRSCRN -- ptr. to "clear-screen" string;
- ; 2. CLREOL -- ptr. to "clear-to_end_of_line" string.
- ; 3. CLREOS -- ptr. to "clear-to-end-of-screen" string;
- ; 4. WRAPON -- ptr. to "line-wrap-on" string;
- ; 5. WRAPOFF -- ptr. to "line-wrap-off" string;
- ; 6. CURSON -- ptr. to "turn-cursor-on" string;
- ; 7. CURSOFF -- ptr. to "turn-cursor_off" string;
- ; 8. CURSUP -- ptr. to "move-cursor-up" string;
- ; 9. CURDOWN -- ptr. to "move-cursor-down" string;
- ; 10. CURRITE -- ptr. to "move-cursor-right" string;
- ; 11. CURLEFT -- ptr. to "move-cursor-left" string;
- ; 12. SETATTR -- ptr. to "set attribute" string.
- ;
- ; If any of the 13 strings above are not present, indicate
- ; by a pointer = 0000h. String number 12 (SETATTR) is used
- ; only if either of the "special-case" strings described
- ; in paragraphs 6A or 6B below are referenced by any of the
- ; pointers in this file.
-
- ; 6. Strings, each preceded by a string-length byte.
- ; Special cases:
-
- ; A. CURPOSN string is a special case. The high-bit of the
- ; string-length byte indicates, if RESET, row-then-column
- ; order, else vice versa. The row and column bytes, which
- ; are the last 2 in the string, are initialized to move the
- ; cursor to the upper left screen corner, providing a bias
- ; which will thereafter be added to every row and column.
-
- ; B. The high-bit of the string-length bytes (except CURPOSN)
- ; indicates that there are two MASK bytes following. The
- ; first will be ANDed with the last byte of the SETATTR,
- ; string, the 2nd will be ORed, then the SETATTR string will
- ; be issued.
-
- ; C. The attribute byte (last byte in the optional attribute
- ; string) is initialized to the value which resets all
- ; special attribute values (typ. 0h or 30h). This initial
- ; bias value will be SUBtracted before attribute manipulation
- ; (as in 6B above) then ADDed to the resulting mask
- ; before the string is sent. The SET_ATTR string will only
- ; be used if "special-case" strings in TERM.DAT are present.
-
- ; All pointers are relative to the start of PREAMBLE. For
- ; instance, if WRAP_ON = 730h, the string to turn on line wrap
- ; may be found at base PREAMBLE + 730h bytes.
-
- ;Assembly/Linkage instructions:
-
- ;A>RASM86 TERM.A86
-
- ;To produce a binary disk file, dynamically read by utilities or TMP:
-
- ; A>LINK86 TERM.DAT = TERM[DATA[ORIGIN[0]]]
- ; A>DDT86
- ; -rTERM.DAT
- ; START END
- ; XXXX:0000 XXXX:YYYY
- ; -wTERM.DAT,80,YYYY
- ; -^c
- ; A>
- eject
-
- DGROUP group DATA
- dseg
-
- PUBLIC CHARTRAN, ATTRIB, CURSOR
-
- ESC equ 1Bh
- PREAMBLE_SIZE equ 256
-
- org 0
- PREAMBLE:
- db 'Concurrent DOS Serial Terminal Configuration file',0dh,0ah
- db 'for EDITMENU, COPYMENU, RUNMENU, and FILE-MANAGER.',0dh,0ah
- db 'Digital Research, Inc., 1985.',0dh,0ah
- db 'Terminal type: Zenith Z-29.'
- db 1Ah
-
- rb PREAMBLE_SIZE - (offset $ - offset PREAMBLE) ;pad to end
- eject
- ;Character translate table:
- CHARTRAN rb 0 ;place marker
-
- db ' ' ;00
- db ' ' ;01 smile
- db ' ' ;02 inverse smile
- db ' ' ;03 heart
- db ' ' ;04 diamond
- db ' ' ;05 club
- db ' ' ;06 spade
- db '^' ;07 dot
- db ' ' ;08 inverse dot
- db ' ' ;09 circle
- db ' ' ;0A inverse circle
- db ' ' ;0B male
- db ' ' ;0C female
- db ' ' ;0D quarter note
- db ' ' ;0E eighth note
- db ' ' ;0F sun
- db '>' ;10 right arrowhead
- db '<' ;11 left arrowhead
- db ' ' ;12 up-down arrow
- db ' ' ;13 double exclamation
- db '~' ;14 paragraph
- db ' ' ;15 integral
- db ' ' ;16 lower box
- db ' ' ;17 underlined up-down arrow
- db ' ' ;18 up arrow
- db 'k' ;19 down arrow
- db 'h' ;1A right arrow
- db ' ' ;1B left arrow
- db ' ' ;1C right angle
- db ' ' ;1D left-right arrow
- db ' ' ;1E up arrowhead
- db ' ' ;1F down arrowhead
-
- ;BEGIN STANDARD ASCII:
- db ' !"#$%&''()*+,-./0123456789:;<=>?'
- db '@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'
- db '`abcdefghijklmnopqrstuvwxyz{|}~'
- db '.' ;7F triangle
-
- ;BEGIN UPPER 128 characters:
- db ' ' ;80
- db ' ' ;81
- db ' ' ;82
- db ' ' ;83
- db ' ' ;84
- db ' ' ;85
- db ' ' ;86
- db ' ' ;87
- db ' ' ;88
- db ' ' ;89
- db ' ' ;8A
- db ' ' ;8B
- db ' ' ;8C
- db ' ' ;8D
- db ' ' ;8E
- db ' ' ;8F
-
- db ' ' ;90
- db ' ' ;91
- db ' ' ;92
- db ' ' ;93
- db ' ' ;94
- db ' ' ;95
- db ' ' ;96
- db ' ' ;97
- db ' ' ;98
- db ' ' ;99
- db ' ' ;9A
- db ' ' ;9B
- db ' ' ;9C
- db ' ' ;9D
- db ' ' ;9E
- db ':' ;9F integral
-
- db ' ' ;A0
- db ' ' ;A1
- db ' ' ;A2
- db ' ' ;A3
- db ' ' ;A4
- db ' ' ;A5
- db ' ' ;A6
- db ' ' ;A7
- db ' ' ;A8
- db 'f' ;A9 upper-left corner
- db 'c' ;AA upper-right corner
- db ' ' ;AB
- db ' ' ;AC
- db ' ' ;AD
- db ' ' ;AE
- db ' ' ;AF
-
- db ' ' ;B0 low-intens. block
- db 'i' ;B1 med-intens. block
- db 'i' ;B2 hi-intens. block
- db '`' ;B3 vert. line 1
- db 't' ;B4 left-pointing tee 1
- db 't' ;B5 left-pointing tee 2
- db 't' ;B6 left_pointing tee 3
- db 'c' ;B7 up-right corner 1
- db 'c' ;B8 up-right corner 2
- db 't' ;B9 left-pointing tee 4
- db '`' ;BA vert. line 2
- db 'c' ;BB up-right corner 3
- db 'd' ;BC low-right corner 1
- db 'd' ;BD low-right corner 2
- db 'd' ;BE low-right corner 3
- db 'c' ;BF up-right corner 4
-
- db 'e' ;C0 low_left corner 1
- db 'u' ;C1 up-pointing tee 1
- db 's' ;C2 down-pointing tee 1
- db 'v' ;C3 right-pointing tee 1
- db 'a' ;C4 horizontal line 1
- db 'b' ;C5 cross 1
- db 'v' ;C6 right-pointing tee 2
- db 'v' ;C7 right-pointing tee 3
- db 'e' ;C8 low-left corner 2
- db 'f' ;C9 up-left corner 1
- db 'u' ;CA up-pointing tee 2
- db 's' ;CB down-pointing tee 2
- db 'v' ;CC right-pointing tee 4
- db 'a' ;CD horizontal line 2
- db 'b' ;CE cross 2
- db 'u' ;CF up_pointing tee 3
-
- db 'u' ;D0 up_pointing tee 4
- db 's' ;D1 down-pointing tee 3
- db 's' ;D2 down-pointing tee 4
- db 'e' ;D3 low-left corner 3
- db 'e' ;D4 low-left corner 4
- db 'f' ;D5 up-left corner 2
- db 'f' ;D6 up-left corner 3
- db 'b' ;D7 cross 3
- db 'b' ;D8 cross 4
- db 'd' ;D9 low-right corner 4
- db 'f' ;DA up-left corner 4
- db 'i' ;DB block
- db ' ' ;DC low block
- db ' ' ;DD left block
- db ' ' ;DE right block
- db 'p' ;DF high block
-
- db ',' ;E0 lc alpha
- db '-' ;E1 lc beta
- db ' ' ;E2 uc gamma
- db ' ' ;E3 lc pi
- db ' ' ;E4 uc sigma
- db ' ' ;E5 lc sigma
- db '*' ;E6 lc mu
- db ' ' ;E7 lc tau
- db ' ' ;E8 uc phi
- db '/' ;E9 lc theta
- db '+' ;EA uc omega
- db ' ' ;EB lc delta
- db ' ' ;EC infinity
- db ' ' ;ED lc phi
- db ' ' ;EE lc epsilon
- db ' ' ;EF set intersection
-
- db ' ' ;F0 QED
- db 'g' ;F1 plus or minus
- db ' ' ;F2 .gte.
- db ' ' ;F3 .lte.
- db ' ' ;F4 2-line integral-upper
- db ' ' ;F5 2-line integral-lower
- db '@' ;F6 divided by
- db ' ' ;F7 congruent
- db 'o' ;F8 degrees
- db ' ' ;F9 center dot
- db ' ' ;FA small center dot
- db ' ' ;FB radical
- db ' ' ;FC lc eta
- db '2' ;FD squared
- db 'l' ;FE low-right square
- db ' ' ;FF space
- eject
-
- CHAR_ON rw 0 ;place marker
-
- dw 0 ;00
- dw 0 ;01 smile
- dw 0 ;02 inverse smile
- dw 0 ;03 heart
- dw 0 ;04 diamond
- dw 0 ;05 club
- dw 0 ;06 spade
- dw gr_on ;07 dot
- dw 0 ;08 inverse dot
- dw 0 ;09 circle
- dw 0 ;0A inverse circle
- dw 0 ;0B male
- dw 0 ;0C female
- dw 0 ;0D quarter note
- dw 0 ;0E eighth note
- dw 0 ;0F sun
- dw 0 ;10 right arrowhead
- dw 0 ;11 left arrowhead
- dw 0 ;12 up-down arrow
- dw 0 ;13 double exclamation
- dw gr_on ;14 paragraph
- dw 0 ;15 integral
- dw 0 ;16 lower box
- dw 0 ;17 underlined up-down arrow
- dw 0 ;18 up arrow
- dw gr_on ;19 down arrow
- dw gr_on ;1A right arrow
- dw 0 ;1B left arrow
- dw 0 ;1C right angle
- dw 0 ;1D left-right arrow
- dw 0 ;1E up arrowhead
- dw 0 ;1F down arrowhead
-
- ;BEGIN STANDARD ASCII:
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw alt_on ;7F triangle
-
-
- ;BEGIN UPPER 128 characters:
- dw 0 ;80
- dw 0 ;81
- dw 0 ;82
- dw 0 ;83
- dw 0 ;84
- dw 0 ;85
- dw 0 ;86
- dw 0 ;87
- dw 0 ;88
- dw 0 ;89
- dw 0 ;8A
- dw 0 ;8B
- dw 0 ;8C
- dw 0 ;8D
- dw 0 ;8E
- dw 0 ;8F
-
- dw 0 ;90
- dw 0 ;91
- dw 0 ;92
- dw 0 ;93
- dw 0 ;94
- dw 0 ;95
- dw 0 ;96
- dw 0 ;97
- dw 0 ;98
- dw 0 ;99
- dw 0 ;9A
- dw 0 ;9B
- dw 0 ;9C
- dw 0 ;9D
- dw 0 ;9E
- dw alt_on ;9F integral
-
- dw 0 ;A0
- dw 0 ;A1
- dw 0 ;A2
- dw 0 ;A3
- dw 0 ;A4
- dw 0 ;A5
- dw 0 ;A6
- dw 0 ;A7
- dw 0 ;A8
- dw gr_on ;A9 upper-left corner
- dw gr_on ;AA upper-right corner
- dw 0 ;AB
- dw 0 ;AC
- dw 0 ;AD
- dw 0 ;AE
- dw 0 ;AF
-
- dw 0 ;B0 low-intens. block
- dw gr_on ;B1 med-intens. block
- dw gr_on ;B2 hi-intens. block
- dw gr_on ;B3 vert. line 1
- dw gr_on ;B4 left-pointing tee 1
- dw gr_on ;B5 left-pointing tee 2
- dw gr_on ;B6 left_pointing tee 3
- dw gr_on ;B7 up-right corner 1
- dw gr_on ;B8 up-right corner 2
- dw gr_on ;B9 left-pointing tee 4
- dw gr_on ;BA vert. line 2
- dw gr_on ;BB up-right corner 3
- dw gr_on ;BC low-right corner 1
- dw gr_on ;BD low-right corner 2
- dw gr_on ;BE low-right corner 3
- dw gr_on ;BF up-right corner 4
-
- dw gr_on ;C0 low_left corner 1
- dw gr_on ;C1 up-pointing tee 1
- dw gr_on ;C2 down-pointing tee 1
- dw gr_on ;C3 right-pointing tee 1
- dw gr_on ;C4 horizontal line 1
- dw gr_on ;C5 cross 1
- dw gr_on ;C6 right-pointing tee 2
- dw gr_on ;C7 right-pointing tee 3
- dw gr_on ;C8 low-left corner 2
- dw gr_on ;C9 up-left corner 1
- dw gr_on ;CA up-pointing tee 2
- dw gr_on ;CB down-pointing tee 2
- dw gr_on ;CC right-pointing tee 4
- dw gr_on ;CD horizontal line 2
- dw gr_on ;CE cross 2
- dw gr_on ;CF up_pointing tee 3
-
- dw gr_on ;D0 up_pointing tee 4
- dw gr_on ;D1 down-pointing tee 3
- dw gr_on ;D2 down-pointing tee 4
- dw gr_on ;D3 low-left corner 3
- dw gr_on ;D4 low-left corner 4
- dw gr_on ;D5 up-left corner 2
- dw gr_on ;D6 up-left corner 3
- dw gr_on ;D7 cross 3
- dw gr_on ;D8 cross 4
- dw gr_on ;D9 low-right corner 4
- dw gr_on ;DA up-left corner 4
- dw gr_on ;DB block
- dw 0 ;DC low block
- dw 0 ;DD left block
- dw 0 ;DE right block
- dw gr_on ;DF high block
-
- dw alt_on ;E0 lc alpha
- dw alt_on ;E1 lc beta
- dw 0 ;E2 uc gamma
- dw 0 ;E3 lc pi
- dw 0 ;E4 uc sigma
- dw 0 ;E5 lc sigma
- dw alt_on ;E6 lc mu
- dw 0 ;E7 lc tau
- dw 0 ;E8 uc phi
- dw alt_on ;E9 lc theta
- dw alt_on ;EA uc omega
- dw 0 ;EB lc delta
- dw 0 ;EC infinity
- dw 0 ;ED lc phi
- dw 0 ;EE lc epsilon
- dw 0 ;EF set intersection
-
- dw 0 ;F0 QED
- dw gr_on ;F1 plus or minus
- dw 0 ;F2 .gte.
- dw 0 ;F3 .lte.
- dw 0 ;F4 2-line integral-upper
- dw 0 ;F5 2-line integral-lower
- dw alt_on ;F6 divided by
- dw 0 ;F7 congruent
- dw alt_on ;F8 degrees
- dw 0 ;F9 center dot
- dw 0 ;FA small center dot
- dw 0 ;FB radical
- dw 0 ;FC lc eta
- dw alt_on ;FD squared
- dw gr_on ;FE low-right square
- dw 0 ;FF space
- eject
-
- CHAR_OFF rw 0 ;place marker
-
- dw 0 ;00
- dw 0 ;01 smile
- dw 0 ;02 inverse smile
- dw 0 ;03 heart
- dw 0 ;04 diamond
- dw 0 ;05 club
- dw 0 ;06 spade
- dw gr_off ;07 dot
- dw 0 ;08 inverse dot
- dw 0 ;09 circle
- dw 0 ;0A inverse circle
- dw 0 ;0B male
- dw 0 ;0C female
- dw 0 ;0D quarter note
- dw 0 ;0E eighth note
- dw 0 ;0F sun
- dw 0 ;10 right arrowhead
- dw 0 ;11 left arrowhead
- dw 0 ;12 up-down arrow
- dw 0 ;13 double exclamation
- dw gr_off ;14 paragraph
- dw 0 ;15 integral
- dw 0 ;16 lower box
- dw 0 ;17 underlined up-down arrow
- dw 0 ;18 up arrow
- dw gr_off ;19 down arrow
- dw gr_off ;1A right arrow
- dw 0 ;1B left arrow
- dw 0 ;1C right angle
- dw 0 ;1D left-right arrow
- dw 0 ;1E up arrowhead
- dw 0 ;1F down arrowhead
-
- ;BEGIN STANDARD ASCII:
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dw alt_off ;7F triangle
-
- ;BEGIN UPPER 128 characters:
- dw 0 ;80
- dw 0 ;81
- dw 0 ;82
- dw 0 ;83
- dw 0 ;84
- dw 0 ;85
- dw 0 ;86
- dw 0 ;87
- dw 0 ;88
- dw 0 ;89
- dw 0 ;8A
- dw 0 ;8B
- dw 0 ;8C
- dw 0 ;8D
- dw 0 ;8E
- dw 0 ;8F
-
- dw 0 ;90
- dw 0 ;91
- dw 0 ;92
- dw 0 ;93
- dw 0 ;94
- dw 0 ;95
- dw 0 ;96
- dw 0 ;97
- dw 0 ;98
- dw 0 ;99
- dw 0 ;9A
- dw 0 ;9B
- dw 0 ;9C
- dw 0 ;9D
- dw 0 ;9E
- dw alt_off ;9F integral
-
- dw 0 ;A0
- dw 0 ;A1
- dw 0 ;A2
- dw 0 ;A3
- dw 0 ;A4
- dw 0 ;A5
- dw 0 ;A6
- dw 0 ;A7
- dw 0 ;A8
- dw gr_off ;A9 upper-left corner
- dw gr_off ;AA upper-right corner
- dw 0 ;AB
- dw 0 ;AC
- dw 0 ;AD
- dw 0 ;AE
- dw 0 ;AF
-
- dw 0 ;B0 low-intens. block
- dw gr_off ;B1 med-intens. block
- dw gr_off ;B2 hi-intens. block
- dw gr_off ;B3 vert. line 1
- dw gr_off ;B4 left-pointing tee 1
- dw gr_off ;B5 left-pointing tee 2
- dw gr_off ;B6 left_pointing tee 3
- dw gr_off ;B7 up-right corner 1
- dw gr_off ;B8 up-right corner 2
- dw gr_off ;B9 left-pointing tee 4
- dw gr_off ;BA vert. line 2
- dw gr_off ;BB up-right corner 3
- dw gr_off ;BC low-right corner 1
- dw gr_off ;BD low-right corner 2
- dw gr_off ;BE low-right corner 3
- dw gr_off ;BF up-right corner 4
-
- dw gr_off ;C0 low_left corner 1
- dw gr_off ;C1 up-pointing tee 1
- dw gr_off ;C2 down-pointing tee 1
- dw gr_off ;C3 right-pointing tee 1
- dw gr_off ;C4 horizontal line 1
- dw gr_off ;C5 cross 1
- dw gr_off ;C6 right-pointing tee 2
- dw gr_off ;C7 right-pointing tee 3
- dw gr_off ;C8 low-left corner 2
- dw gr_off ;C9 up-left corner 1
- dw gr_off ;CA up-pointing tee 2
- dw gr_off ;CB down-pointing tee 2
- dw gr_off ;CC right-pointing tee 4
- dw gr_off ;CD horizontal line 2
- dw gr_off ;CE cross 2
- dw gr_off ;CF up_pointing tee 3
-
- dw gr_off ;D0 up_pointing tee 4
- dw gr_off ;D1 down-pointing tee 3
- dw gr_off ;D2 down-pointing tee 4
- dw gr_off ;D3 low-left corner 3
- dw gr_off ;D4 low-left corner 4
- dw gr_off ;D5 up-left corner 2
- dw gr_off ;D6 up-left corner 3
- dw gr_off ;D7 cross 3
- dw gr_off ;D8 cross 4
- dw gr_off ;D9 low-right corner 4
- dw gr_off ;DA up-left corner 4
- dw gr_off ;DB block
- dw 0 ;DC low block
- dw 0 ;DD left block
- dw 0 ;DE right block
- dw gr_off ;DF high block
-
- dw alt_off ;E0 lc alpha
- dw alt_off ;E1 lc beta
- dw 0 ;E2 uc gamma
- dw 0 ;E3 lc pi
- dw 0 ;E4 uc sigma
- dw 0 ;E5 lc sigma
- dw alt_off ;E6 lc mu
- dw 0 ;E7 lc tau
- dw 0 ;E8 uc phi
- dw alt_off ;E9 lc theta
- dw alt_off ;EA uc omega
- dw 0 ;EB lc delta
- dw 0 ;EC infinity
- dw 0 ;ED lc phi
- dw 0 ;EE lc epsilon
- dw 0 ;EF set intersection
-
- dw 0 ;F0 QED
- dw gr_off ;F1 plus or minus
- dw 0 ;F2 .gte.
- dw 0 ;F3 .lte.
- dw 0 ;F4 2-line integral-upper
- dw 0 ;F5 2-line integral-lower
- dw alt_off ;F6 divided by
- dw 0 ;F7 congruent
- dw alt_off ;F8 degrees
- dw 0 ;F9 center dot
- dw 0 ;FA small center dot
- dw 0 ;FB radical
- dw 0 ;FC lc eta
- dw alt_off ;FD squared
- dw gr_off ;FE low-right square
- dw 0 ;FF space
- eject
-
- ;Attribute table:
- ATTRIB rw 0
-
- ;The following monochrome attributes are matched:
- ; 1. underline
- ; 2. reverse video
- ; 3. blink
- ; 4. normal
-
- dw normal_on
- dw under_on ;01 under
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw hi_under_on ;09 HI under
- dw hi_on ;0A-0F high intens.
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw normal_on
- dw under_on ;11 under
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw hi_on ;18 high intens.
- dw hi_under_on ;19 HI under
- dw hi_on ;1A-1F high intens.
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw normal_on
- dw under_on ;21 under
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw hi_on ;28 high intens.
- dw hi_under_on ;29 HI under
- dw hi_on ;2A-2F high intens.
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw normal_on
- dw under_on ;31 under
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw hi_on ;38 high intens.
- dw hi_under_on ;39 HI under
- dw hi_on ;3A-3F high intens.
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw normal_on
- dw under_on ;41 under
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw hi_on ;48 high intens.
- dw hi_under_on ;49 HI under
- dw hi_on ;4A-4F high intens.
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw normal_on
- dw under_on ;51 under
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw hi_on ;58 high intensity
- dw hi_under_on ;59 HI under
- dw hi_on ;5A-5F high intensity
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw normal_on
- dw under_on ;61 under
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw hi_on ;68 high intens.
- dw hi_under_on ;69 HI under
- dw hi_on ;6A-6F high intens.
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw inv_on ;70 inverse
- dw under_on ;71 underline
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw normal_on
- dw inv_on ;78 inverse
- dw hi_under_on ;79 HI underline
- dw hi_on ;7A-7F high intens
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
- dw hi_on
-
- dw normal_on ;80 "non-display"
- dw bl_under_on ;81 under
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw normal_on ;88 "non-display"
- dw bl_hi_under_on ;89 HI under
- dw hi_blink_on ;8A-8F high intens. blink
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw blink_on
- dw bl_under_on ;91 under
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw hi_blink_on ;98
- dw bl_hi_under_on ;99 HI under
- dw hi_blink_on ;9A-9F
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw blink_on
- dw bl_under_on ;A1 under
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw hi_blink_on ;A8
- dw bl_hi_under_on ;A9 HI under
- dw hi_blink_on ;AA-AF
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw blink_on
- dw bl_under_on ;B1 under
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw hi_blink_on ;B8
- dw bl_hi_under_on ;B9 HI under
- dw hi_blink_on ;BA-BF
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw blink_on
- dw bl_under_on ;C1 under
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw hi_blink_on ;C8
- dw bl_hi_under_on ;C9 blink HI under
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw blink_on
- dw bl_under_on ;D1 blink under
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw hi_blink_on ;D8
- dw bl_hi_under_on ;D9 blink HI under
- dw hi_blink_on ;DA-DF
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw blink_on
- dw bl_under_on ;E1 blink under
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw hi_blink_on ;E8
- dw bl_hi_under_on ;E9 HI under
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw bl_inv_on ;F0 blink inverse
- dw bl_under_on ;F1 blink under
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw blink_on
- dw bl_inv_on ;F8 blink inverse
- dw bl_hi_under_on ;F9 blink HI underline
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- dw hi_blink_on
- eject
-
- ;Begin required screen function table:
- CURSOR rw 0
-
- dw cur_posn
- dw clr_scrn
- dw clr_eol
- dw clr_eos
- dw wrap_on
- dw wrap_off
- dw curs_on
- dw curs_off
- dw curs_up
- dw curs_down
- dw curs_right
- dw curs_left
- dw set_attr
-
- ;Begin "free-form" screen control strings:
-
- cur_posn db 4,ESC,'Y '
- clr_scrn db 2,ESC,'E'
- clr_eol db 2,ESC,'K'
- clr_eos db 2,ESC,'J'
- wrap_on db 2,ESC,'v'
- wrap_off db 2,ESC,'w'
- curs_on db 3,ESC,'y5'
- curs_off db 3,ESC,'x5'
- set_attr db 3,ESC,'s0'
- curs_up db 2,ESC,'A'
- curs_down db 2,ESC,'B'
- curs_right db 2,ESC,'C'
- curs_left db 2,ESC,'D'
-
- ;Special character strings:
-
- gr_on db 2,ESC,'F' ;Enter graphics mode
- gr_off db 2,ESC,'G' ;Exit graphics mode
-
- alt_on db 80h,11111111b, 00010000b ;Enter alt. char. set
- alt_off db 80h,11101111b, 00000000b ;Exit alt. char. set
-
- ;Attribute strings:
- hi_on rb 0 ;map hi to normal:
- normal_on db 80h, 00010000b, 00000000b ;All off except possibly alt.
- hi_under_on rb 0 ;map hi to normal:
- under_on db 80h, 00010000b, 00001000b ;Enter underline
- hi_blink_on rb 0 ;map hi to normal:
- blink_on db 80h, 00010000b, 00000010b ;Enter blink
- bl_hi_under_on rb 0 ;map hi to normal:
- bl_under_on db 80h, 00010000b, 00001010b ;Blink and underline
-
- inv_on db 80h, 00010000b, 00000001b ;Enter inverse video
- bl_inv_on db 80h, 00010000b, 00000011b ;Blink and inverse
-
- ;These will map high to dim:
- ;hi_on db 80h, 00010000b, 00000100b
- ;hi_blink_on db 80h, 00010000b, 00000110b
- ;hi_under_on db 80h, 00010000b, 00001100b
- ;bl_hi_under_on db 80h, 00010000b, 00001110b
-
- end