home *** CD-ROM | disk | FTP | other *** search
- DEFB 02;delete DEFB 02;delete DEFB 38;end-calc JP 2477;LINE.DRAW 23C1 DR.PRMS CALL 247D;CD.PRMS1 23C4 PUSH BC RST 0028;FP.CALC DEFB 02;delete DEFB E1;get-mem-1 DEFB 01;exchange DEFB 05;division DEFB C1;st-mem-1 DEFB 02;delete DEFB 01;exchange DEFB 31;duplicate DEFB E1;get-mem-1 DEFB 04;multiply DEFB C2;st-mem-2 DEFB 02;delete DEFB 01;exchange DEFB 31;duplicate DEFB E1;get-mem-1 DEFB 04;multiply DEFB E2;get-mem-2 DEFB E5;get-mem-5 DEFB E0;get-mem-0 DEFB 03;subtract DEFB A2;stk-half DEFB 04;multiply DEFB 31;duplicate DEFB 1F;sin DEFB C5;st-mem-5 DEFB 02;delete DEFB 20;cos DEFB C0;st-mem-0 DEFB 02;delete DEFB C2;st-mem-2 DEFB 02;delete DEFB C1;st-mem-1 DEFB E5;get-mem-5 DEFB 04;multiply DEFB E0;get-mem-0 DEFB E2;get-mem-2 DEFB 04;multiply DEFB 0F;addition DEFB E1;get-mem-1 DEFB 01;exchange DEFB C1;st-mem-1 DEFB 02;delete DEFB E0;get-mem-0 DEFB 04;multiply DEFB E2;get-mem-2 DEFB E5;get-mem-5 DEFB 04;multiply DEFB 03;subtract DEFB C2;st-mem-2 DEFB 2A;abs DEFB E1;get-mem-1 DEFB 2A;abs DEFB 0F;addition DEFB 02;delete DEFB 38;end-calc LD A,(DE) CP 81 POP BC JP C,2477;LINE.DRAW PUSH BC RST 0028;FP.CALC DEFB 01;exchange DEFB 38;end-calc LD A,(5C7D);COORDS CALL 2D28;STACK.A RST 0028;FP.CALC DEFB C0;st-mem-0 DEFB 0F;addition DEFB 01;exchange DEFB 38;end-calc LD A,(5C7E);COORDS hi CALL 2D28;STACK.A RST 0028;FP.CALC DEFB C5;st-mem-5 DEFB 0F;addition DEFB E0;get-mem-0 DEFB E5;get-mem-5 DEFB 38;end-calc POP BC 2420 DRW.STEPS DEC B JR Z,245F;ARC.END JR 2439;ARC.START 2425 ARC.LOOP RST 0028;FP.CALC DEFB E1;get-mem-1 DEFB 31;duplicate DEFB E3;get-mem-3 DEFB 04;multiply DEFB E2;get-mem-2 DEFB E4;get-mem-4 DEFB 04;multiply DEFB 03;subtract DEFB C1;st-mem-1 DEFB 02;delete DEFB E4;get-mem-4 DEFB 04;multiply DEFB E2;get-mem-2 DEFB E3;get-mem-3 DEFB 04;multiply DEFB 0F;addition DEFB C2;st-mem-2 DEFB 02;delete DEFB 38;end-calc 2439 ARC.START PUSH BC RST 0028;FP.CALC DEFB C0;st-mem-0 DEFB 02;delete DEFB E1;get-mem-1 DEFB 0F;addition DEFB 31;duplicate DEFB 38;end-calc LD A,(5C7D);COORDS CALL 2D28;STACK.A RST 0028;FP.CALC DEFB 03;subtract DEFB E0;get-mem-0 DEFB E2;get-mem-2 DEFB 0F;addition DEFB C0;st-mem-0 DEFB 01;exchange DEFB E0;get-mem-0 DEFB 38;end-calc LD A,(5C7E);COORDS hi CALL 2D28;STACK.A RST 0028;FP.CALC DEFB 03;subtract DEFB 38;end-calc CALL 24B7;DRAW.LINE POP BC DJNZ 2425;ARC.LOOP 245F ARC.END RST 0028;FP.CALC DEFB 02;delete DEFB 02;delete DEFB 01;exchange DEFB 38;end-calc LD A,(5C7D);COORDS CALL 2D28;STACK.A RST 0028;FP.CALC DEFB 03;subtract DEFB 01;exchange DEFB 38;end-calc LD A,(5C7E);COORDS hi CALL 2D28;STACK.A RST 0028;FP.CALC DEFB 03;subtract DEFB 38;end-calc 2477 LINE.DRAW CALL 24B7;DRAW.LINE JP 0D4D;TEMPS 247D CD.PRMS1 RST 0028;FP.CALC DEFB 31;duplicate DEFB 28;sqr DEFB 34;stk-data DEFB 32;exponent 82 DEFB 00;(00,00,00) DEFB 01;exchange DEFB 05;division DEFB E5;get-mem-5 DEFB 01;exchange DEFB 05;division DEFB 2A;abs DEFB 38;end-calc CALL 2DD5;FP.TO.A JR C,2495;USE.252 AND 11111100B ADD A,04 JR NC,2497;DRAW.SAVE 2495 USE.252 LD A,FC;252d 2497 DRAW.SAVE PUSH AF CALL 2D28;STACK.A RST 0028;FP.CALC DEFB E5;get-mem-5 DEFB 01;exchange DEFB 05;division DEFB 31;duplicate DEFB 1F;sin DEFB C4;st-mem-4 DEFB 02;delete DEFB 31;duplicate DEFB A2;stk-half DEFB 04;multiply DEFB 1F;sin DEFB C1;st-mem-1 DEFB 01;exchange DEFB C0;st-mem-0 DEFB 02;delete DEFB 31;duplicate DEFB 04;multiply DEFB 31;duplicate DEFB 0F;addition DEFB A1;stk-one DEFB 03;subtract DEFB 1B;negate DEFB C3;st-mem-3 DEFB 02;delete DEFB 38;end-calc POP BC RET 24B7 DRAW.LINE CALL 2307;STK.TO.BC LD A,C CP B JR NC,24C4;DL.X.GE.Y LD L,C PUSH DE XOR A LD E,A JR 24CB;DL.LARGER 24C4 DL.X.GE.Y OR C RET Z LD L,B LD B,C PUSH DE LD D,00 14CB DL.LARGER LD H,B LD A,B RRA 24CE D.L.LOOP ADD A,L JR C,24D4;D.L.DIAG CP H JR C,24DB;D.L.HR.VT 24D4 D.L.DIAG SUB H LD C,A EXX POP BC PUSH BC JR 24DF;DL.STEP 24DB D.L.HR.VT LD C,A PUSH DE EXX POP BC 24DF D.L.STEP LD HL,(5C7D);COORDS LD A,B ADD A,H LD B,A LD A,C INC A ADD A,L JR C,24F7;D.L.RANGE JR Z,24F9;REPORT.B 24EC D.L.PLOT DEC A LD C,A CALL 22E5;PLOT.SUB EXX LD A,C DJNZ 24CE;D.L.LOOP POP DE RET 24F7 D.L.RANGE JR Z,24EC;D.L.PLOT 24F9 REPORT.B RST 0008;ERROR.1 DEFB 0A;"Integer out of range" 24FB SCANNING RST 0018;GET.CHAR LD B,00 PUSH BC 24FF S.LOOP.1 LD C,A LD HL,2596;scanning function table CALL 16DC;INDEXER LD A,C JP NC,2684;S.ALPHNUM LD B,00 LD C,(HL) ADD HL,BC JP (HL) 250F S.QUOTE.S CALL 0074;CH.ADD+1 INC BC CP 0D JP Z,1C8A;REPORT.C CP '"' JR NZ,250F;S.QUOTE.S CALL 0074;CH.ADD+1 CP '"' RET 2522 S.2.COORD RST 0020;NEXT.CHAR CP '(' JR NZ,252D;S.RPORT.C CALL 1C79;NEXT.2NUM RST 0018;GET.CHAR CP ')' 252D S.RPORT.C JP NZ,1C8A;REPORT.C 2530 SYNTAX.Z BIT 7,(IY+01);FLAGS RET 2535 S.SCRN$.S CALL 2307;STK.TO.BC LD HL,(5C36);CHARS LD DE,0100 ADD HL,DE LD A,C RRCA RRCA RRCA AND 11000000B XOR B LD E,A LD A,C AND 00011000B XOR 01000000B LD D,A LD B,60;96d characters 254F S.SCRN.LP PUSH BC PUSH DE PUSH HL LD A,(DE) XOR (HL) JR Z,255A;S.SC.MATCH INC A