PN CRC-DISPLAY ; ORG 08000H PFL: EQU 052H PDR: EQU 050H ; START: LD A,0 OUT 4 LD (FLAG),A RST 020H DB 2,13 DB 'Anfangs' DB 'adresse:' DB 0A0H RST 020H DB 16 LD DE,(016H) RST 020H DB 3 LD (ANF),HL RST 020H DB 2 DB 'Endadre' DB 'sse :' DB 0A0H RST 020H DB 16 LD DE,(016H) RST 020H DB 3 LD (END),HL RST 020H DB 2 DB 'Bytes pro' DB ' Zeile :' DB 0A0H RST 020H DB 16 LD DE,(016H) RST 020H DB 3 LD A,L OR A JRNZ EBYT-# LD A,16 EBYT: LD (BPZ),A RST 020H DB 2 DB '(A)SC oder' DB '(C)RC ' DB 0BFH RST 020H DB 1 LD HL,FLAG CMP 'A' JRNZ NOASC-# SET 1,M NOASC: RST 020H DB 2,13 DB 'Printer' DB ' (J)/N ?' DB 0A0H RST 020H DB 1 LD HL,FLAG CMP 'J' JRNZ NOPR-# SET 0,M NOPR: RST 020H DB 2,08CH LD A,080H OUT 4 LD HL,0 LD (SUM),HL LD (TSUM),HL EXX LOOP: LD HL,(ANF) LD C,0 NZEI: LD A,(BPZ) LD B,A LD (PUFF),HL LD DE,(02BH) LD (BPA),DE RST 020H DB 7 RST 020H DB 14 RST 020H DB 14 GLZ: LD A,M INC HL LD D,0 LD E,A PUSH DE RST 020H DB 6 RST 020H DB 14 LD A,B CMP 9 JRNZ NHAL-# RST 020H DB 14 NHAL: EXX POP DE ADD HL,DE EXX DJNZ GLZ-# RST 020H DB 14 EXX LD A,(FLAG) BIT 1,A JRZ CRC-# LD A,(BPZ) LD B,0 LD C,A LD HL,(PUFF) LD DE,(02BH) LDIR INC DE LD (02BH),DE CRC: LD A,(FLAG) BIT 1,A JRNZ CRC2-# LD DE,(02BH) RST 020H DB 7 LD A,'*' LD (DE),A CRC2: LD DE,(TSUM) ADD HL,DE LD (TSUM),HL LD HL,0 EXX CALL NEXT PUSH HL LD DE,(END) SBC HL,DE POP HL JRNC DEND-# INC C LD A,C CMP 8 JRNZ GOAW-# RST 020H DB 1 CMP 3 JRZ DEND-# GOAW: LD A,C CMP 16 JPC NZEI LD (ANF),HL CALL BLC RST 020H DB 1 CMP 3 JRZ DED2-# JMP LOOP DEND: CALL BLC DED2: RST 020H DB 2 DB 'File -' DB 'CRC :' DB 0A0H LD HL,(SUM) RST 020H DB 7 RST 020H DB 2,08DH CALL NEXT RST 020H DB 1 LD A,0 OUT 4 RST 038H BLC: RST 020H DB 2 DB 'Block-' DB 'CRC :' DB 0A0H LD HL,(TSUM) RST 020H DB 7 RST 020H DB 2,08DH CALL NEXT LD DE,(SUM) ADD HL,DE LD (SUM),HL LD HL,0 LD (TSUM),HL RET NEXT: PUSH HL LD A,(FLAG) BIT 0,A JRZ GENT-# LD HL,(02BH) LD DE,(BPA) PUSH DE SBC HL,DE LD B,L POP HL PLOP: LD A,M CMP 32 JRNC BOK-# LD A,'.' BOK: CALL POUT INC HL DJNZ PLOP-# LD A,13 CALL POUT LD A,10 CALL POUT GENT: CALL ENTER POP HL RET POUT: PUSH AF PRL: IN PFL BIT 0,A JRNZ PRL-# POP AF PUSH BC LD B,0 TIME: DJNZ TIME-# POP BC OUT PDR RET ENTER: LD HL,(02BH) LD A,L AND 0C0H LD L,A PUSH DE LD DE,64 ADD HL,DE POP DE LD (02BH),HL LD A,H CMP 0F0H RNZ PUSH DE PUSH BC LD DE,0EC00H LD HL,0EC40H LD BC,003C0H LDIR LD (02BH),DE LD B,64 LD A,32 BDEL: LD (DE),A INC DE DJNZ BDEL-# POP BC POP DE RET PUFF: DA 0 BPA: DA 0 ANF: DA 0 END: DA 0 SUM: DA 0 TSUM: DA 0 FLAG: DB 0 BPZ: DB 0 END ; END