|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3200 (0xc80) Types: TextFile Names: »CRDRV.BAK«
└─⟦811637d18⟧ Bits:30005383 Microsoft COBOL-80 v4.01 └─ ⟦this⟧ »CRDRV.BAK«
TITLE CDVID5 - CRT DRIVER FOR VIDEO 5 TERMINAL ENTRY $CRWID,$CRLEN,$CURON,$CUROF,$CURBK ENTRY $SETCR,$ERASE,$ALARM ENTRY $EOL ENTRY $HILIT,$LOLIT ENTRY $CLIST,$TLIST,$FLIST EXT $OUTCH EXT $CMPL,$CMPR,$MULDE,$ROWCL ;**************************************************** ; KEYBOARD CODE DEFINITIONS ;**************************************************** ; $CLIST: ;EDITING KEY DEFINITIONS DB 0BH ;LINE DELETE (CTRL-U) DB 16H ;CHAR DELETE (DEL,RUB) DB 1DH ;FORWARD SPACE (CTRL-L) DB 1CH ;BACK SPACE (CTRL-H) DB 2BH ;PLUS SIGN DB 2DH ;MINUS SIGN DB 00H ;END OF LIST $TLIST: ;TERMINATOR KEY DEFINITIONS DB 02H ;BACKTAB (CTL-B) DB 1BH ;ESCAPE KEY (ESC) DB 09H ;FORWARD TAB (CTL-I) D▶c2◀ 0D▶c8◀ ;CARRIAG▶c5◀ RETURN DB 0AH ;LINE FEED DB 00H ;END OF LIST $FLIST: ;FUNCTION KEY DEFINITIONS DB 01H ;CTL-A DB 03H ;CTL-C DB 18H ;CTL-X DB 00H ;**************************************************** ; TERMINAL SCREEN DIMENSIONS ;**************************************************** ; $CRLEN: DB 25D ;24 LINES $CRWID: DB 79D ;80 COLUMNS ;**************************************************** ; TERMINAL OUTPUT CODES ;**************************************************** ; ESCAPE EQU 1BH BSPACE EQU 08H BELL EQU 07H CLEAR EQU 1AH ; O U T P U T F U N C T I O N S ;**************************************************** ; SET CURSOR POSITION ; ÆHÅ = LINE NUMBER ; ÆLÅ = COLUMN NUMBER ;**************************************************** ; $SETCR: MVI A,ESCAPE CALL $OUTCH ;SEND ESC MVI A,"=" CALL $OUTCH ;SEND = MOV A,H ADI 20H ;ADJUST ROW NUMBER CALL $OUTCH ;SEND ROW # MOV A,L ;ADJUST COLUMN NUMBER ADI 20H ;ADJUST COL. # JMP $OUTCH ;SEND COL. # AND RETURN ;**************************************************** ; BACKSPACE CURSOR ;**************************************************** ; $CURBK: MVI A,BSPACE ;BACKSPACE JMP $OUTCH ;**************************************************** ; HIGHLIGHT VIDEO ;**************************************************** ; $HILIT: MVI A,ESCAPE CALL $OUTCH MVI A,"A" JMP $OUTCH $LOLIT: MVI A,ESCAPE CALL $OUTCH MVI A,"N" JMP $OUTCH ;**************************************************** ; ERASE TO END OF SCREEN ; ÆHLÅ = SEQUENTIAL CURSOR POSITION ;**************************************************** ; $ERASE: MVI A,ESCAPE CALL $OUTCH MVI A,'%' JMP $OUTCH ;**************************************************** ; ERASE TO END OF LINE ; ÆHÅ = CURRENT ROW NUMBER ; ÆLÅ = CURRENT COLUMN NUMBER ;**************************************************** ; $EOL: MVI A,ESCAPE CALL $OUTCH MVI A,'*' JMP $OUTCH ;**************************************************** ; SOUND AUDIBLE TONE ;**************************************************** ; $ALARM: MVI A,BELL JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; CURSOR ON/OFF ;**************************************************** ; $CURON: $CUROF: RET ;NOT AVAILABLE ON ADM3A ;**************************************************** END «eof»