; ; ************************* ; * * ; * Turbo-Tape * ; * * ; ************************* ; ZK1 EQU 24 ZK3 EQU 37 ZK2 EQU 60 .z80 .phase 2000h ; DEFW 7F7FH DEFM 'turbo' DEFB 1H LD HL,INTS LD (CTCINT+2),HL LD HL,INTL LD (PIOINT),HL LD HL,TSRLIN LD (BLIN+1),HL LD HL,TSRLX LD (BLOUT+1),HL RET ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; INTS: EX AF,af' LD A,87H OUT (CTC1),A LD A,E OUT (CTC1),A LD E,-1 EX AF,af' EI RETI ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; TSRLX: DI LD A,87H OUT (CTC1),A LD A,ZK1-3 OUT (CTC1),A EI SR1: LD E,ZK1-3 SR2: BIT 7,E JR Z,SR2 DEC BC LD A,C OR B JR NZ,SR1 LD D,2 DEC A CALL BYS1 LD A,(IX+2) LD B,80H CALL BYTS SR3: LD A,M INC HL CALL BYTS XOR C LD C,A DJNZ SR3 LD D,9 DEFB 1 ;LD BC,nn ; BYTS: LD D,8 BYS1: RRCA LD E,ZK1-3 JR NC,BYS2 LD E,ZK2-3 BYS2: BIT 7,E JR Z,BYS2 DEC D JR NZ,BYS1 RET ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; INTL: EX AF,af' IN A,(CTC1) SUB A,-ZK3 RR E LD A,7 OUT (CTC1),A XOR A OUT (CTC1),a DEC D EX AF,af' EI RETI ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; BYTR: BIT 7,D JR Z,BYTR LD A,E LD D,7 RET ; TSRLIN: LD A,83H OUT (P1AC),a LD BC,8000H LD E,-1 SRL1: LD A,E CP 0C0H JR NZ,SRL1 LD D,7 CALL BYTR LD (IX+2),A SRL2: CALL BYTR LD M,A INC HL XOR C LD C,A DJNZ SRL2 CALL BYTR SUB A,C RET end