LD C,21 PUSH BC CALL 0E9B;CL.ADDR LD A,H RRCA RRCA RRCA AND 03 OR 58 LD H,A LD DE,5AE0;1st attribute of last line LD A,(DE) LD C,(HL) LD B,20 EX DE,HL 0CF0 PO.SCR.3A LD (DE),A LD (HL),C INC DE INC HL DJNZ 0CF0;PO.SCR.3A POP BC RET 0CF8 DEFB 80 DEFM 'scroll' DEFB '?'+128 0D00 REPORT.D RST 0008;ERROR.1 DEFB 0C;"BREAK - CONT repeats" 0D02 PO.SCR.4 CP 02 JR C,0C86;REPORT.5 ADD A,(IY+31);DF.SZ SUB 19 RET NC NEG PUSH BC LD B,A LD HL,(5C8F);ATTR.T PUSH HL LD HL,(5C91);P.FLAG PUSH HL CALL 0D4D;TEMPS LD A,B 0D1C PO.SCR.4A PUSH AF LD HL,5C6B;DF.SZ LD B,(HL) LD A,B INC A LD (HL),A LD HL,5C89;S.POSN hi CP (HL) JR C,0D2D;PO.SCR.4B INC (HL) LD B,18 0D2D PO.SCR.4B CALL 0E00;CL.SCROLL POP AF DEC A JR NZ,0D1C;PO.SCR.4A POP HL LD (IY+57),L;P.FLAG POP HL LD (5C8F);ATTR.T LD BC,(5C88);S.POSN RES 0,(IY+02);TVFLAG CALL 0DD9;CL.SET SET 0,(IY+02);TVFLAG POP BC RET 0D4D TEMPS XOR A LD HL,(5C8D);ATTR.P BIT 0,(IY+02);TVFLAG JR Z,0D5B;TEMPS.1 LD H,A LD L,(IY+0E);BORDCR 0D5B TEMPS.1 LD (5C8F),HL;ATTR.T LD HL,5C91;P.FLAG JR NZ,0D65;TEMPS.2 LD A,(HL) RRCA 0D65 TEMPS.2 XOR (HL) AND 55 XOR (HL) LD (HL),A RET 0D6B CLS CALL 0DAF;CL.ALL 0D6E CLS.LOWER LD HL,5C3C;TV.FLAG RES 5,(HL) SET 0,(HL) CALL 0D4D;TEMPS LD B,(IY+31);DF.SZ CALL 0E44;CL.LINE LD HL,5AC0;1st attribute of last line LD A,(5C8D);ATTR.P DEC B JR 0D8E;CLS.3 0D87 CLS.1 LD C,20 0D89 CLS.2 DEC HL LD (HL),A DEC C JR NZ,0D89;CLS.2 0D8E CLS.3 DJNZ 0D87;CLS.1 LD (IY+31),02;DF.SZ 0D94 CL.CHAN LD A,FD CALL 1601;CHAN.OPEN LD HL,(5C51);CURCHL LD DE,09F4;PRINT.OUT AND A 0DA0 CL.CHAN.A LD (L),E INC HL LD (HL),D INC HL LD DE,10A8;KEY.INPUT CCF JR C,0DA0;CL.CHAN.A LD BC,1721 JR 0DD9;CL.SET 0DAF CL.ALL LD HL,0000 LD (5C7D),HL;COORDS RES 0,(IY+30);FLAGS2 CALL 0D94;CL.CHAN LD A,FE CALL 1601;CHAN.OPEN CALL 0D4D;TEMPS LD B,18 CALL 0E44;CL.LINE LD HL,(5C51);CURCHL LD DE,09F4;PRINT.OUY LD (HL),E INC HL LD (HL),D LD (IY+52),01;SCR.CT LD BC,1821 0DD9 CL.SET LD HL,5B00;print buffer BIT 1,(IY+01);FLAGS JR NZ,0DF4;CL.SET.2 LD A,B BIT 0,(IY+02);TVFLAG JR Z,0DEE;CL.SET.1 ADD A,(IY+31);DF.SZ SUB 18 0DEE CL.SET.1 PUSH BC LD B,A CALL 0E9B;CL.ADDR POP BC 0DF4 CL.SET.2 LD A,21 SUB C LD E,A LD D,00 ADD HL,DE JP 0ADC;PO.STORE 0DFE CL.SC.ALL LD B,17 0E00 CL.SCROLL CALL 0E9B;CL.ADDR LD C,08 0E05 CL.SCR.1 PUSH BC PUSH HL LD A,B AND 07 LD A,B JR NZ,0E19;CL.SCR.3 0E0D CL.SCR.2 EX DE,HL LD HL,F8E0;-720 ADD HL,DE EX DE,HL LD BC,0020 DEC A LDIR 0E19 CL.SCR.3 EX DE,HL LD HL,FFE0;-20 ADD HL,DE EX DE,HL LD B,A AND 07 RRCA RRCA RRCA LD C,A LD A,B LD B,00 LDIR LD B,07 ADD HL,BC AND F8 JR NZ,0E0D;CL.SCR.2 POP HL INC H POP BC DEC C JR NZ,0E05;CL.SCR.1 CALL 0E88;CL.ATTR LD HL,FFE0;-20 ADD HL,DE EX DE,HL LDIR LD B,01 0E44 CL.LINE PUSH BC CALL 0E9B;CL.ADDR LD C,08 0E4A CL.LINE.1 PUSH BC PUSH HL LD A,B 0E4D CL.LINE.2 AND 07 RRCA RRCA RRCA LD C,A LD A,B LD B,00 DEC C LD D,H LD E,L LD (HL),00 INC DE LDIR LD DE,0701 ADD HL,DE DEC A AND F8 LD B,A JR NZ,0E4D;CL.LINE.2 POP HL INC H POP BC DEC C JR NZ,0E4A;CL.LINE.1 CALL 0E88;CL.ATTR LD H,D LD L,E INC DE LD A,(5C8D);ATTR.P BIT 0,(IY+02);TVFLAG JR Z,0E80;CL.LINE.3 LD A,(5C48);BORDCR 0E80 CL.LINE.3 LD (HL),A DEC BC LDIR POP BC LD C,21 RET 0E88 CL.ATTR LD A,H RRCA RRCA RRCA DEC A OR 50 LD H,A EX DE,HL LD H,C LD L,B ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD B,H LD C,L RET 0E9B CL.ADDR LD A,18 SUB B LD D,A RRCA RRCA RRCA AND E0 LD L,A LD A,D AND 18 OR 40 LD H,A RET 0EAC COPY DI LD B,B0 LD HL,4000 0EB2 COPY.1 PUSH HL PUSH BC CALL 0EF4;COPY.LINE POP BC POP HL INC H LD A,H AND 07 JR NZ,0EC9;COPY.2 LD A,L ADD A,20 LD L,A CCF SBC A,A AND F8 ADD A,H LD H,A 0EC9 COPY.2 DJNZ 0EB2;COPY.1 JR 0EDA;COPY.END 0ECD COPY.BUFF DI LD HL,5B00;print buffer LD B,08 0ED3 COPY.3 PUSH BC CALL 0EF4;COPY.LINE POP BC DJNZ 0ED3;COPY.3 0EDA COPY.END LD A,04 OUT (FB),A EI