home *** CD-ROM | disk | FTP | other *** search
- RES 6,(IY+01);FLAGS RST 0020;NEXT.CHAR 1F7D DEF.FN.2 CP '(' JR NZ,1FBD;DEF.FN.7 RST 0020;NEXT.CHAR CP ')' JR Z,1FA6;DEF.FN.6 1F86 DEF.FN.3 CALL 2C8D;ALPHA 1F89 DEF.FN.4 JP NC,1C8A;REPORT.C EX DE,HL RST 0020;NEXT.CHAR CP '$' JR NZ,1F94;DEF.FN.5 EX DE,HL RST 0020;NEXT.CHAR 1F94 DEF.FN.5 EX DE,HL LD BC,0006 CP 1655;MAKE.ROOM INC HL INC HL LD (HL),0E CP ',' JR NZ,1FA6;DEF.FN.6 RST 0020;NEXT.CHAR JR 1F86;DEF.FN.3 1FA6 DEF.FN.6 CP ')' JR NZ,1FBD;DEF.FN.7 RST 0020;NEXT.CHAR CP '=' JR NZ,1FBD;DEF.FN.7 RST 0020;NEXT.CHAR LD A,(5C3B);FLAGS PUSH AF CALL 24FB;SCANNING POP AF XOR (IY+01);FLAGS AND 01000000B 1FBD DEF.FN.7 JP NZ,1C8A;REPORT.C CALL 1BEE;CHECK.END 1FC3 UNSTACK.Z CALL 2530;SYNTAX.Z POP HL RET Z JP (HL) 1FC9 LPRINT LD A,03 JR 1FCF;PRINT.1 1FCD PRINT LD A,02 1FCF PRINT.1 CALL 2530;SYNTAX.Z CALL NZ,1601;CHAN.OPEN CALL 0D4D;TEMPS CALL 1FDF;PRINT.2 CALL 1BEE;CHECK.END RET 1FDF PRINT.2 RST 0018;GET.CHAR CALL 2045;PR.END.Z JR Z,1FF2;PRINT.4 1FE5 PRINT.3 CALL 204E;PR.POSN.1 JR Z,1FE5;PRINT.3 CALL 1FFC;PR.ITEM.1 CALL 204E;PR.POSN.1 JR 1FE5;PRINT.3 1FF2 PRINT.4 CP ')' RET Z 1FF5 PRINT.CR CALL 1FC3;UNSTACK.Z LD A,0D RST 0010;PRINT.A.1 RET 1FFC PR.ITEM.1 RST 0018;GET.CHAR CP 'AT' JR NZ,200E;PR.ITEM.2 CALL 1C79;NEXT.2NUM CALL 1FC3;UNSTACK.Z CALL 2307;STACK.TO.BC LD A,16;AT control JR 201E;PR.AT.TAB 200E PR.ITEM.2 CP 'TAB' JR NZ,2024;PR.ITEM.3 RST 0020;NEXT.CHAR CALL 1C82;EXPT.1NUM CALL 1FC3;UNSTACK.Z CALL 1E99;FIND.INT2 LD A,17;TAB control 201E PR.AT.TAB RST 0010;PRINT.A.1 LD A,C RST 0010;PRINT.A.1 LD A,B RST 0010;PRINT.A.1 RET 2024 PR.ITEM.3 CALL 21F2;CO.TEMP.3 RET NC CALL 2070;STR.ALTER RET NC CALL 24FB;SCANNING CALL 1FC3;UNSTACK.Z BIT 6,(IY+01);FLAGS CALL Z,2BF1;STK.FETCH JP NZ,2DE3;PRINT.FP 203C PR.STRING LD A,B OR C DEC BC RET Z LD A,(DE) INC DE RST 0010;PRINT.A.1 JR 203C;PR.STRING 2045 PR.END.Z CP ')' RET Z 2048 PR.ST.END CP 0D RET Z CP ':' RET 204E PR.POSN.1 RST 0018;GET.CHAR CP ';' JR Z,2067;PR.POSN.3 CP ',' JR NZ,2061;PR.POSN.2 CALL 2530;SYNTAX.Z JR Z,2067;PR.POSN.3 LD A,06;PRINT comma RST 0010;PRINT.A.1 JR 2067;PR.POSN.3 2061 PR.POSN.2 CP '''' RET NZ CALL 1FF5;PRINT.CR 2067 PR.POSN.3 RST 0020;NEXT.CHAR CALL 2045;PR.END.Z JR NZ,206E;PR.POSN.4 POP BC 208E PR.POSN.4 CP A RET 2070 STR.ALTER CP '#' SCF RET NZ RST 0020;NEXT.CHAR CALL 1C82;EXPT.1NUM AND A CALL 1FC3;UNSTACK.Z CALL 1E94;FIND.INT.1 CP 10 JP NC,160E;REPORT.O CALL 1601;CHAN.OPEN AND A RET 2089 INPUT CALL 2530 5;SYNTAX.Z JR Z,2096;INPUT.1 LD A,01 CALL 1601;CHAN.OPEN CALL 0D6E;CLS.LOWER 2096 INPUT.1 LD (IY+02),01;TV.FLAG CALL 20C1;IN.ITEM.1 CALL 1BEE;CHECK.END LD BC,(5C88);S.POSN LD A,(5C6B);DF.SZ CP B JR C,20AD;INPUT.2 LD C,21;top of screen LD B,A 20AD INPUT.2 LD (5C88),BC;S.POSN LD A,19;23d lines SUB B LD (5C8C),A;SCR.CT RES 0,(IY+02);TV.FLAG CALL 0DD9;CL.SET JP 0D6E;CLS.LOWER 20C1 IN.ITEM.1 CALL 204E;PR.POSN.1 JR Z,20C1;IN.ITEM.1 CP '(' JR NZ,20D8;IN.ITEM.2 RST 0020;NEXT.CHAR CALL 1FDF;PRINT.2 RST 0018;GET.CHAR CP ')' JP NZ,1C8A;REPORT.C RST 0020;NEXT.CHAR JP 21B2;IN.NEXT.2 20D8 IN.ITEM.2 CP 'LINE' JR NZ,20ED;IN.ITEM.3 RST 0020;NEXT.CHAR CALL 1C1F;CLASS.01 SET 7,(IY+37);FLAGX BIT 6,(IY+01);FLAGS JP NZ,1C8A;REPORT.C JR 20FA;IN.PROMPT 20ED IN.ITEM.3 CALL 2C8D;ALPHA JP NC,21AF;IN.NEXT.1 CALL 1C1F;CLASS.01 RES 7,(IY+37);FLAGX 20FA IN.PROMPT CALL 2530;SYNTAX.Z JP Z,21B2;IN.NEXT.2 CALL 16BF;SET.WORK LD HL,5C71;FLAGX RES 6,(HL) SET 5,(HL) LD BC,0001 BIT 7,(HL) JR NZ,211C;IN.PR.2 LD A,(5C3B);FLAGS AND 01000000B JR 211A;IN.PR.1 LD C,03 211A IN.PR.1 OR (HL) LD (HL),A 211C IN.PR.2 RST 0030;BC.SPACES LD (HL),0D LD A,C RRCA RRCA JR NC,2129;IN.PR.3 LD A,22 LD (DE),A DEC HL LD (HL),A 2129 IN.PR.3 LD (5C5B),HL;K.CUR BIT 7,(IY+37);FLAGX JR NZ,215E;IN.VAR.3 LD HL,(5C5D);CH.ADD PUSH HL LD HL,(5C3D);ERR.SP PUSH HL 213A IN.VAR.1 LD HL,213A;IN.VAR.1 PUSH HL BIT 4,(IY+30);FLAGS2 JR Z,2148;IN.VAR.2 LD (5C3D),SP;ERR.SP 2148 IN.VAR.2 LD HL,(5C61);WORKSP CALL 11A7;REMOVE.FP LD (IY+00),FF;ERR.NR CALL 0F2C;EDITOR RES 7,(IY+01);FLAGS CALL 21B9;IN.ASSIGN JR 2161;IN.VAR.4 215E IN.VAR.3 CALL 0F2C;EDITOR 2161 IN.VAR.4 LD (IY+22),00;K.CUR hi CALL 21D6;IN.CHAN.K JR NZ,2174;IN.VAR.5 CALL 111D;ED.COPY LD BC,(5C82);ECHO.E CALL 0DD9;CL.SET 2174 IN.VAR.5 LD HL,5C71;FLAGX RES 5,(HL) BIT 7,(HL) RES 7,(HL) JR NZ,219B;IN.VAR.6 POP HL POP HL LD (5C3D),HL;ERR.SP POP HL LD (5C5F),HL;X.PTR SET 7,(IY+01);FLAGS CALL 21B9;IN.ASSIGN LD HL,(5C5F);X.PTR LD (IY+26),00;X.PTR hi LD (5C5D),HL;CH.ADD JR 21B2;IN.NEXT.2 219B IN.VAR.6 LD HL,(5C63);STKBOT LD DE,(5C61);WORKSP SCF SBC HL,DE LD B,H LD C,L CALL 2AB2;STK.STO.$ CALL 2AFF;LET JR 21B2;IN.NEXT.2 21AF IN.NEXT.1 CALL 1FFC;PR.ITEM.1 21B2 IN.NEXT.2 CALL 204E;PR.POSN.1 JP Z,20C1;IN.ITEM.1 RET 21B9 IN.ASSIGN LD HL,(5C61);WORKSP LD (5C5D),HL;CH.ADD RST 0018;GET.CHAR CP 'STOP' JR Z,21D0;IN.STOP LD A,(5C71);FLAGX CALL 1C59;VAL.FET.2 RST 0018;GET.CHAR CP 0D RET Z 21CE REPORT.C RST 0008;ERROR.1 DEFB 0B;"Nonsense in BASIC" 21D0 IN.STOP CALL 2530;SYNTAX.Z RET Z 21D4 REPORT.H RST 0008;ERROR.1 DEFB 10;"STOP in INPUT" 21D6 IN.CHAN.K LD HL,(5C51);CURCHL INC HL INC HL INC HL INC HL LD A,(HL) CP 'K' RET 21E1 CO.TEMP.1 RST 0020;NEXT.CHAR 21E2 CO.TEMP.2 CALL 21F2;CO.TEMP.3 RET C RST 0018;GET.CHAR CP ',' JR Z,21E1;CO.TEMP.1 CP ';' JR Z,21E1;CO.TEMP.1 JP 1C8A;REPORT.C 21F2 CO.TEMP.3 CP 'INK' RET C CP 'OVER' CCF RET C