#TITLE "TURBODOS OPERATING SYSTEM DATA TERMINAL READY PRINTER DRIVER" #SUBTTL "COPYRIGHT 1984 BY SOFTWARE 2000, INC." ; ; COPYRIGHT 1984 BY SOFTWARE 2000, INC. ; ; VERSION: 01/03/84 ; MODULE "LSTCTS" ;MODULE NAME ; #INCLUDE "DREQUATE" ;DRIVER SYMBOLIC EQUIVALENCES ; LOC Data# ;LOCATE IN DATA SEGMENT ; CTSBR:: BYTE 0x6E ;BAUD RATE CODE (9600 BAUD) CTSFF:: BYTE AFF ;FORM FEED CHARACTER INITC: RES 16 ;INITIALIZATION COMPLETE FLAGS ; LOC Code# ;LOCATE IN CODE SEGMENT ; LSTDR_::MOV BX,&INITC ;GET INIT COMPLETE FLAGS MOV AL,CH ;GET CHANNEL NUMBER MOV AH,=0 ;DOUBLE LENGTH ADD BX,AX ;INDEX INTO FLAGS TABLE MOV AL,[BX] ;GET INITIALIZATION COMPLETE FLAG TEST AL,AL ;INITIALIZATION COMPLETE FLAG SET? JNZ __LDRV ;IF SO, CONTINUE DEC BYTE [BX] ;SET INIT COMPLETE FLAG PUSH DX ;SAVE FUNCTION NUMBER PUSH CX ;SAVE CHANNEL NUMBER/CHARACTER MOV CL,CTSBR ;GET BAUD RATE CODE MOV DL,=3 ;SET FUNCTION NUMBER=3 CALL SERIAL# ;SET CHANNEL BUAD RATE POP CX ;RESTORE CHANNEL NUMBER/CHARACTER POP DX ;RESTORE FUNCTION NUMBER __LDRV: MOV AL,DL ;GET FUNCTION NUMBER CMP AL,=2 ;FUNCTION NUMBER=2? JZ LSTOUT ;IF SO, CONTINUE CMP AL,=7 ;FUNCTION NUMBER=7? JZ LSTWSR ;IF SO, CONTINUE RET ;ELSE, DONE ; LSTWSR: MOV CL,CTSFF ;GET FORM FEED CHARACTER MOV DL,=2 ;SET FUNCTION NUMBER=2 ; LSTOUT: JMP SERIAL# ;CONTINUE ; END