home *** CD-ROM | disk | FTP | other *** search
- PUSH AF RST 0020;NEXT.CHAR POP AF 21FC CO.TEMP.4 SUB C9 PUSH AF CALL 1C82;EXPT.1NUM POP AF AND A CALL 1FC3;UNSTACK.Z PUSH AF CALL 1E94;FIND.INT1 LD D,A POP AF RST 0010;PRINT.A.1 LD A,D RST 0010;PRINT.A.1 RET 2211 CO.TEMP.5 SUB 11 ADC A,00 JR Z,2234;CO.TEMP.7 SUB 02 ADC A,00 JR Z,2273;CO.TEMP.C CP 01 LD A,D LD B,01 JR NZ,2228;CO.TEMP.6 RLCA RLCA LD B,04 2228 CO.TEMP.6 LD C,A LD A,D CP 02 JR NC,2244;REPORT.K LD A,C LD HL,5C91;P.FLAG JR 226C;CO.CHANGE 2234 CO.TEMP.7 LD A,D LD B,07 JR C,223E;CO.TEMP.8 RLCA RLCA RLCA LD B,00111000B 223E CO.TEMP.8 LD C,A LD A,D CP 0A JR C,2246;CO.TEMP.9 2244 REPORT.K RST 0008;ERROR.1 DEFB 13;"Invalid colour" 2246 CO.TEMP.9 LD 5C8F;ATTR.T/MASK.T CP 08 JR C,2258;CO.TEMP.B LD A,(HL) JR Z,2257;CO.TEMP.A OR B CPL AND 00100100B JR Z,2257;CO.TEMP.A LD A,B 2257 CO.TEMP.A LD C,A 2258 CO.TEMP.B LD A,C CALL 226C;CO.CHANGE LD A,07 CP D SBC A,A CALL 226C;CO.CHANGE RLCA RLCA AND 01010000B LD B,A LD A,00001000B CP D SBC A,A 226C CO.CHANGE XOR (HL) AND B XOR (HL) LD (HL),A INC HL LD A,B RET 2273 CO.TEMP.C SBC A,A LD A,D RRCA LD B,10000000B JR NZ,227D;CO.TEMP.D RRCA LD B,01000000B 227D CO.TEMP.D LD C,A LD A,D CP 08 JR Z,2287;CO.TEMP.E CP 02 JR NC,2244;REPORT.K 2287 CO.TEMP.E LD A,C LD HL,5C8F;ATTR.T CALL 226C;CO.CHANGE LD A,C RRCA RRCA RRCA JR 226C;CO.CHANGE 2294 BORDER CALL 1E94;FIND.INT1 CP 08 JR NC,2244;REPORT.K 229B OUT (FE),A RLCA RLCA RLCA BIT 5,A JR NZ,22A6;BORDER.1 XOR 00000111B 22A6 BORDER.1 LD (5C4B),A;BORDCR RET 22AA PIXEL.ADD LD A,AF;175d SUB B JP C,24F9;REPORT.B LD B,A AND A RRA SCF RRA AND A RRA XOR B AND 11111000B XOR B LD H,A LD A,C RLCA RLCA RLCA XOR B AND 11000111B XOR B RLCA RLCA LD L,A LD A,C AND 00000111B RET 22CB POINT.SUB CALL 2307;STK.TO.BC CALL 22AA;PIXEL.ADD LD B,A INC B LD A,(HL) 22D4 POINT.LP RLCA DJNZ 22D4;POINT.LP AND 01 JP 2D28;STACK.A 22DC PLOT CALL 2307;STK.TO.BC CALL 22E5;PLOT.SUB JP 0D4D;TEMPS 22E5 PLOT.SUB LD (5C7D),BC;COORDS CALL 22AA;PIXEL.ADD LD B,A INC B LD A,FE 22F0 PLOT.LOOP RRCA DJNZ 22F0;PLOT.LOOP LD B,A LD A,(HL) LD C,(IY+57);P.FLAG BIT 0,C JR NZ,22FD;PL.TST.IN AND B 22FD PL.TST.IN BIT 2,C JR NZ,2303;PLOT.END XOR B CPL 2303 PLOT.END LD (HL),A JP 0BDB;PO.ATTR 2307 STK.TO BC CALL 2314;STK.TO.A LD B,A PUSH BC CALL 2314;STK.TO.A LD E,C POP BC LD D,C LD C,A RET 2314 STK.TO.A CALL 2DD5;FP.TO.A JP C,24F9;REPORT.B LD C,01 RET Z LD C,FF RET 2320 CIRCLE RST 0018;GET.CHAR CP ',' JP NC,1C8A;REPORT.C RST 0020;NEXT.CHAR CALL 1C82;EXPT.1NUM CALL 1BEE;CHECK.END RST 0028;FP.CALC DEFB 2A;abs DEFB 3D;re-stack DEFB 38;end-calc LD A,(HL) CP 81 JR NC,233B;C.R.GRE.1 RST 0028;FP.CALC DEFB 02;delete DEFB 38;end-calc JR 22DC;PLOT 233B C.R.GRE.1 RST 0028;FP.CALC DEFB A3;stk-pi/2 DEFB 38;end-calc LD (HL),83 RST 0028;FP.CALC DEFB C5;st-mem-5 DEFB 02;delete DEFB 38;end-calc CALL 247D;CD.PRMS1 2347 PUSH BC RST 0028;FP.CALC DEFB 31;duplicate DEFB E1;get-mem-1 DEFB 04;multiply DEFB 38;end-calc LD A,(HL) CP 80 JR NZ,235A;C.ARC.GE.1 RST 0028;FP.CALC DEFB 02;delete DEFB 02;delete DEFB 38;end-calc POP BC JP 22DC;PLOT 235A C.ARC.GE1 RST 0028;FP.CALC DEFB C2;st-mem-2 DEFB 01;exchange DEFB C0;st-mem-0 DEFB 02;delete DEFB 03;subtract DEFB 01;exchange DEFB E0;get-mem-0 DEFB 0F;addition DEFB C0;st-mem-0 DEFB 01;exchange DEFB 31;duplicate DEFB E0;get-mem-0 DEFB 01;exchange DEFB 31;duplicate DEFB E0;get-mem-0 DEFB A0;stk-zero DEFB C1;st-mem-1 DEFB 02;delete DEFB 38;end-calc INC (IY+62);mem-2 CALL 1E94;FIND.INT1 LD L,A PUSH HL CALL 1E94;FIND.INT1 POP HL LD H,A LD (5C7D),HL;COORDS POP BC JP 2420;DRW.STEPS 2382 DRAW RST 0018;GET.CHAR CP ',' JR Z,238D;DR.3.PRMS CALL 1BEE;CHECK.END JP 2477;LINE.DRAW 238D DR.3.PRMS RST 0020;NEXT.CHAR CALL 1C82;EXPT.2NUM CALL 1BEE;CHECK.END RST 0028;FP.CALC DEFB C5;st-mem-5 DEFB A2;stk-half DEFB 04;multiply DEFB 1F;sin DEFB 31;duplicate DEFB 30;not DEFB 30;not DEFB 00;jump-true DEFB 06;to DR.SIN.NZ DEFB 02;delete DEFB 38;end-calc JP 2477;LINE.DRAW 23A3 DR.SIN.NZ DEFB C0;st-mem-0 DEFB 02;delete DEFB C1;st-mem-1 DEFB 02;delete DEFB 31;duplicate DEFB 2A;abs DEFB E1;get-mem-1 DEFB 01;exchange DEFB E1;get-mem-1 DEFB 2A;abs DEFB 0F;addition DEFB E0;get-mem-0 DEFB 05;division DEFB 2A;abs DEFB E0;get-mem-0 DEFB 01;exchange DEFB 3D;re-stack DEFB 38;end-calc LD A,(HL) CP 81 JR NC,23C1;DR.PRMS RST 0028;FP.CALC