.Z80 ; V 24 TREIBER FUER KOPPLUNG ; UEBER HARDWAREPROTOKOLL ; 26.08.88 ;*************************************** ;VEREINBARUNGEN: CAOS EQU 0F003H MODU EQU 26H ;UP NR.CAOS ; MKENN EQU 0EEH SIO EQU 08H SIOB EQU SIO+1 CTC1 EQU 0DH ; .PHASE 380H INITK: JR INITD KOPOUT: JR SDDK KOPIN: JR SDE INTB2: DEFB 47H ;BETRIEBSART CTC DEFB 2EH ;ZEITKONST.CTC ; 1200 BAUD !! INTBS2: DEFB 18H ;->WR4 DEFB 4 DEFB 44H DEFB 3 ;->WR3 DEFB 0E1H DEFB 5 ;->WR5 INTBE2: DEFB 6AH ;8BIT INITD: LD BC,880H NEXT: IN A,(C) CP 0EEH ;V24 ? JR Z,FOUND INC B JR NZ,NEXT RET ; FOUND: LD A,2 LD D,1 LD E,D LD L,B CALL CAOS DEFB MODU LD BC,200H+CTC1 LD HL,INTB2 DI OTIR LD BC,700H+SIOB+2 ;INIT SIO OTIR EI RET ;************************************** ;DIREKTE BYTEAUSGABE SDDK: PUSH AF SD7K: IN A,(SIOB+2) BIT 2,A JR Z,SD6K POP AF SD8K: OUT (SIOB),A RET SD6K: LD A,(IX+13) CP 3 JR NZ,SD7K POP AF ;CY=1 NOT READY LD A,1AH JR SD8K ;************************************** ; ZEICHENEINGABE ZEICHEN IN A ;RR0 BIT 0 - ZEICHEN IM EMPFAENGERPUFFE ;WR5 BIT 0 - EMPFAENGERFREIGABE SDE: IN A,(SIOB+2) BIT 0,A JR NZ,SD7 LD A,5 ;WR5 OUT (SIOB+2),A LD A,0EAH OUT (SIOB+2),A ;EMPFAENGERFREIG SDE9: IN A,(SIOB+2) ;RR0 BIT 0,A JR Z,SDE6 ;ZEICHEN ABHOLEN? SDE5: CALL OFF SD7: IN A,(SIOB) AND A RET SDE6: LD A,(IX+13) CP 3 ;BRK ? JR NZ,SDE9 SCF ;CY=1 BREAK OFF: LD A,5 OUT (SIOB+2),A LD A,06AH OUT (SIOB+2),A RET ;************************************** DEFM '150389' .DEPHASE END