home *** CD-ROM | disk | FTP | other *** search
- ; MODULE: VFILERSC
- ; AUTHOR: RICHARD CONN
- ; VERSION: 1.0
- ; DATE: 18 July 83
- ; PREVIOUS VERSIONS: None
- ; NOTE: This is the patch file for VFILER. It allows the user to install
- ; his terminal-specific function routines. This file is to be assembled
- ; by the user and integrated into VFILER.COM via DDT. Once complete,
- ; VFILER must be installed further via GENINS.
- ;
-
- ;
- ; An entry point to send the character in A to the screen is provided at
- ; location 300H in VFILER. No registers are affected by calling the
- ; routine at this address.
- ;
- TYPE EQU 300H
-
- ;
- ; Special ASCII Characters Used
- ;
- ESC EQU 1BH
- CTRLZ EQU 'Z'-'@'
- UP EQU 'K'-'@' ; user-defined cursor up
- DOWN EQU 'V'-'@' ; user-defined cursor down
- RIGHT EQU 'L'-'@' ; user-defined cursor right
- LEFT EQU 'H'-'@' ; user-defined cursor left
- SCR$FOR EQU 'F'-'@' ; user-defined screen forward
- SCR$BAC EQU 'A'-'@' ; user-defined screen backward
-
- ;
- ; The following JUMP Table MUST be located at 200H in VFILER. This accesses
- ; the required routines.
- ;
- ORG 200H ; base page for screen routines
- JMP CLS ; clear screen on CRT
- JMP GOTOXY ; position cursor at row/col
- JMP EREOL ; erase to end of line
-
- ;
- ; The following table is copied by VFILER on startup to define the special
- ; characters generated by arrow keys on the user's terminal for cursor
- ; movement. This table is for the TVI 950. If you do not wish to set
- ; additional definitions, set all of these values to '@'.
- ;
- DB UP,DOWN,RIGHT,LEFT ;cursor up, down, right, left
- DB SCR$FOR,SCR$BAC ;screen forward, backward
-
- ;
- ; Screen Routines (for TVI 950)
- ; The following are sample routines implemented for the TVI 950.
- ; NO REGISTERS are to be affected by these routines except for the PSW.
- ; The GOTOXY routine is the only one which receives passed parameters.
- ; HL is used to pass them, and the value range is 1-24 for H and 1-80 for L.
- ;
-
- ; clear screen
- CLS:
- MVI A,CTRLZ ;clear screen
- JMP TYPE
-
- ; position cursor (H=row, L=col) where 1,1=upper left
- GOTOXY:
- MVI A,ESC ;ESCape
- CALL TYPE
- MVI A,'='
- CALL TYPE
- MOV A,H ;row
- ADI ' '
- CALL TYPE
- MOV A,L ;column
- ADI ' '
- JMP TYPE
-
- ; erase to end of line (output 50 spaces if you don't have this function)
- EREOL:
- MVI A,ESC ;ESCape
- CALL TYPE
- MVI A,'T'
- JMP TYPE
-
- END
-