|
DataMuseum.dkPresents historical artifacts from the history of: Christian Rovsing CR7, CR8 & CR16 CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Christian Rovsing CR7, CR8 & CR16 CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3200 (0xc80) Types: TextFile Names: »CDVID5.MAC«
└─⟦811637d18⟧ Bits:30005383 Microsoft COBOL-80 v4.01 └─ ⟦this⟧ »CDVID5.MAC«
TITLE CDVID5 - CRT DRIVER FOR VIDEO 5 TERMINAL .8080 ENTRY $CRWID,$CRLEN,$CURON,$CUROF,$CURBK ENTRY $SETCR,$ERASE,$ALARM ENTRY $EOL,$HILIT,$LOLIT ENTRY $CLIST,$TLIST,$FLIST EXT $OUTCH ;**************************************************** ; KEYBOARD CODE DEFINITIONS ;**************************************************** ; $CLIST: ;EDITING KEY DEFINITIONS DB 15H ;LINE DELETE (CTRL-U) DB 7FH ;CHAR DELETE (DEL,RUB) DB 06H ;FORWARD SPACE (CTRL-F) DB 08H ;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) DB 0DH ;CARRIAGE 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 24D ;24 LINES $CRWID: DB 80D ;80 COLUMNS ;**************************************************** ; TERMINAL OUTPUT CODES ;**************************************************** ; ESCAPE EQU 1BH BSPACE EQU 08H BELL EQU 07H ;**************************************************** ; 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,"=" CALL OUTECH MVI A,31 ADD H CALL $OUTCH ;SEND LINE # MVI A,31 ADD L JMP $OUTCH ;SEND COL. # AND RETURN ;**************************************************** ; BACKSPACE CURSOR ;**************************************************** ; $CURBK: MVI A,BSPACE ;BACKSPACE JMP $OUTCH ;**************************************************** ; CURSOR ON/OFF ;**************************************************** ; $CURON: $CUROF: RET ;**************************************************** ; ERASE TO END OF SCREEN ; ÆHLÅ = SEQUENTIAL CURSOR POSITION ;**************************************************** ; $ERASE: MVI A,18H JMP $OUTCH ;**************************************************** ; ERASE TO END OF LINE ; ÆHÅ = CURRENT ROW NUMBER ; ÆLÅ = CURRENT COLUMN NUMBER ;**************************************************** ; $EOL: MVI A,17H JMP $OUTCH ;**************************************************** ; SOUND AUDIBLE TONE ;**************************************************** ; $ALARM: MVI A,BELL JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; SET/RESET HIGHLIGHTED VIDEO MODE ;**************************************************** ; $HILIT: MVI A,"!" CALL OUTECH MVI A,"4" JMP $OUTCH $LOLIT: MVI A,"!" CALL OUTECH MVI A,"0" JMP $OUTCH ;**************************************************** OUTECH: PUSH PSW MVI A,ESCAPE CALL $OUTCH POP PSW JMP $OUTCH ;**************************************************** END «eof»