.Z80 ; ;INSTALLATIONSTREIBER FUER K6313/14 ;29.09.88 .PHASE 200H ;VEREINBARUNGEN: CAOS EQU 0F003H MODU EQU 26H ;UP NR.CAOS PUFAD EQU 0B700H ;SYSTEMZELLEN CAOS HCADR EQU 0B799H ;HARD-COPY-ADRESSE ; MKENN EQU 0EEH SIO EQU 08H CTC EQU 0CH INITL: JR START ;AUFRUF INITIALISIERUNG OUTLST: JP SD1 ;BYTEAUSGABE ; INTAB: DEFB 47H ;BETRIEBSART CTC DEFB 5BH ;ZEITKONST.CTC INTABS: DEFB 18H DEFB 4 ;->WR4 DEFB 0CH ;9600 BAUD, 2 stoppbits DEFB 3 ;->WR3 DEFB 20H DEFB 5 ;->WR5 DEFB 6AH ;DRUCKEREINSTELLUNGEN INTABE: DEFB 1BH DEFM 'C' ;FORMULARLAENGE DEFB 0 ;IN INCH DEFB 11 ; 11" DEFB 1BH DEFM 'N' ;ENDEZEILE DEFB 5 ;5 ZEILEN FREI DEFB 1BH DEFM 'M' DEFB 0AH ;LF DEFB 0DH ;CR DEFB 09H ;HTAB TABEND EQU $ ; START: LD BC,880H NEXT: IN A,(C) CP 0EEH ;V24-MODUL ? JR Z,FOUND INC B JR NZ,NEXT RET ; FOUND: LD L,B LD A,2 LD D,1 LD E,D CALL CAOS DEFB MODU ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;INITIALISIERUNG INTER.GESTEUERTE DUPLEXROUT. DI LD HL,V24TAB3 LD C,0DH LD B,2 OTIR LD C,11 LD B,11 OTIR IN A,(9) LD HL,CTCINT LD (1C4H),HL ;INTTAB CTC LD DE,SIOINT LD (1D0H),DE LD A,0C0H OUT (0CH),A ;INTVEKTOR ;IN HARDCOPY EINTRAGEN LD HL,BIMOD LD (HCADR),HL LD C,CTC LD B,INTABS-INTAB ;COUNTER LD HL,INTAB OTIR ;INIT SIO LD C,SIO+2 LD B,INTABE-INTABS OTIR EI IN A,(SIO+2) ;CONTROL BIT 5,A ;CTS ? RET Z ;ABBRUCH NOT READY LD HL,INTABE LD B,TABEND-INTABE INBIM: LD A,(HL) ;ZEIGER TABELLE INC HL CALL SD1 DJNZ INBIM RET ;---------------------------------------------------- ; V24TAB3: DEFB 47H DEFB 2EH ;1200Bd DEFB 18H DEFB 2 DEFB 0D0H ;INT-VEKTOR DEFB 14H DEFB 4CH ;2 STOPPBIT DEFB 3 DEFB 0E1H ;AUTOENABLE DEFB 5 DEFB 0EAH DEFB 11H DEFB 18H ;INT-MODUS 3 ; ;*************************************** ; ZEICHENAUSGABE ZEICHEN IN A SD1: PUSH AF SD6: IN A,(SIO+2) BIT 2,A JR Z,SD6 SD5: POP AF OUT (SIO),A AND A ;CY=0 READY RET ;*************************************** INTAB2: DEFB 0DH ;CR DEFB 09H ;TABULATOR DEFB 1BH DEFM 'J' ;ZEILENVORSCHUB DEFB 24 ;18/216" INTAB4: DEFB 1BH DEFB 2AH ;BITMODE DEFB 5 ;PLOTTERGRAFIK DEFB 40H ;320 PUNKTE DEFB 01H ;BIMO INIT TABE2 EQU $ ;-------------------------------- BIMOD: PUSH HL PUSH DE PUSH AF PUSH BC LD H,0 BIM1: PUSH HL LD HL,INTAB2 ;INIT LD B,TABE2-INTAB2 CALL INBIM POP HL LD L,0 BIM4: LD B,8 PUSH HL LD DE,PUFAD BIM2: PUSH HL PUSH DE CALL CAOS DEFB 34H LD A,M POP DE LD (DE),A INC DE POP HL INC H DJNZ BIM2 LD C,8 BIM5: LD B,8 LD HL,PUFAD BIM3: RL M RLA INC HL DJNZ BIM3 CALL SD1 DEC C JR NZ,BIM5 POP HL INC L LD A,40 CP L JR NZ,BIM4 LD A,(IX+13) CP 13H ;STOP ? JR Z,BREAK LD A,H ADD A,8 LD H,A JR NC,BIM1 BREAK: LD A,0DH CALL SD1 LD A,0AH CALL SD1 POP BC POP AF POP DE POP HL RET ; ; SIOINT: PUSH AF SIOSE1: IN A,(9) ;CODE-INTERN NORMC: LD (IX+13),A IRET: SET 0,(IX+8) LD A,0A7H OUT (14),A LD A,0 OUT (14),A POP AF EI RETI ; CTCINT: RES 0,(IX+8) ;TASTE UNGUELT LD (IX+13),0 ;KEIN CODE PUSH AF LD A,5 ;CTC OFF OUT (14),A POP AF EI RETI ; END