HAR OR A=00 IF NOTHING AVAILABLE ; LDA IOBYTE ; STA IOBSAV ; ANI 0FCH ;CLEAR BITS 0 AND 1 ; ORI PPIO ;SET CONSOLE TO PROGRAMMER PORT ; STA IOBYTE ; CALL KBCHK ;SEE IF ANYTHING FROM PROGRAMMER ;BIORET: PUSH PSW ; LDA IOBSAV ; STA IOBYTE ;RESTORE CONSOLE ; POP PSW ; RET ; ;BOUT: ;ENTER WITH CHAR IN A ; PUSH PSW ; LDA IOBYTE ; STA IOBSAV ; ANI 0FCH ;CLEAR CONSOLE FIELD ; ORI PPIO ;ASSIGN PROGRAMMER TO CONSOLE ; STA IOBYTE ; POP PSW ; CALL CONOUT ; JMP BIORET ;RESTORE IOBYTE AND RETS THE CHARACTER IF SOMETHING AVAILABLE ; ; ;CALL HERE FOR DIRECT CONSOLE OUTPUT. ENTER WITH THE ACCUMULATOR CONTAINING ;THE DESIRED CHARACTER TO BE OUTPUT. CONOUT: PUSH B PUSH D PUSH H MVI C,DCIOF MOV E,A CALL BDOS ORA A ;SET FLAGS ON RETURN POP H POP D POP B RET ; ;THE FOLLOWING ROUTINES ARE THE SERIAL INTERFACE DRIVERS FOR THE PROGRAMMER ;BINCHK MUST RETURN 00 IN THE ACCUMULATOR IF NOTHING HAS BEEN RECEIVED ; OR IF A CHARACTER HAS BEEN RECEIVED, THEN RETURN IT IN THEċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċċTA RET ;************************************************************* ; HERE IF YOU SUPPORT THE I/O BYTE !