Listing of file='TALKL6.SRC;01' on disk='vmedia/comm_pgms-sideA-sector.ccvf'
;ROUTINE TO ALLOW COMPUCOLOR II TO TALK TO OTHER COMPUTERS ;USING THE INDUSTRY STANDARD OF EVEN PARITY ;WRITTEN BY RICKI A. VICK ON 23 JUNE 1980 ; S1OUT EQU 33C3H ;TRANSMIT CHARACTER FROM E CMPHD EQU 344DH ;COMPARE HL:DE SVCHA EQU 39DCH ;SYSTEM DEFAULT CHARACTER DISPLAY ROUT. KBDFL EQU 81DFH ;KEYBOARD INPUT FLAG INPFL EQU 81E3H ;RS232 INPUT PORT FLAG ; ; LINKAGE TO COMPUCOLOR EXECUTIVE ; ORG 33215 ;ESC USER JUMP VECTOR JMP LINK ;ONE TIME INITIALIZATION ORG 33221 ;USER INPUT FLAG JUMP VECTOR JMP WHICH ;USER ROUTINE TO EDIT INPUT TO/FOR HOST ORG 40900 ; ; ROUTINE TO DETERMINE WHICH SOURCE OF DATA ; HAS PROVIDED A CHARACTER ; WHICH: PUSH PSW ;SAVE MACHINE STATE PUSH D ;SAVE DE LXI D,KBDFL ;ADDRESS OF KEYBOARD INPUT FLAG CALL CMPHD ;CALL HL:DE COMPARE JZ PARTY ;JUMP IF CALL WAS FOR KEYBOARD CHARACTER LXI D,INPFL ;ADDRESS OF RS232 INPUT PORT FLAG CALL CMPHD ;CALL HL:DE COMPARE JZ EDIT ;JUMP IF CALL WAS FOR HOST CHARACTER POP D ;RESTORE DE POP PSW ;RESTORE MACHINE STATE RET ;DID NOT WANT THIS CHARACTER ANYWAY ; ; ROUTINE TO GENERATE PARITY FOR HOST ; PARTY: POP D ;RESTORE DE MOV A,E ANI 7FH ;FORCE PARITY BIT OFF JPE POK ORI 80H ;SET PARITY BIT POK: MOV E,A POP PSW JMP S1OUT ;SYSTEM ROUTINE TO TRANSMIT E ON RS232 ; ; ROUTINE TO EDIT INPUT FROM HOST ; EDIT: POP D ;RESTORE DE MOV A,E ANI 7FH CPI 7FH JZ EX2 ;IGNORE DEL CPI 0AH JZ EX1 ;TAKE LF CPI 0DH JZ EX1 ;TAKE CR CPI 20H JC EX2 ;IGNORE CONTROL CHARACTERS EX1: MOV E,A POP PSW JMP SVCHA ;SYSTEM ROUTINE TO DISPLAY CHARACTER IN E EX2: POP PSW RET ; ; SET UP LINKAGE ; LINK: PUSH PSW MVI A,31 ;USER INPUT ROUTINE VECTOR STA INPFL ;RS232 INPUT PORT FLAG MVI A,31 ;USER INPUT ROUTINE VECTOR STA KBDFL ;KEYBOARD INPUT FLAG MVI A,84H ;300 BAUD 1 STOP BIT OUT 5 ;SET BAUD RATE POP PSW RET END LINK