home *** CD-ROM | disk | FTP | other *** search
- 05C8 LD.MARKER LD L,01 05CA LD.8.BITS CALL 05E3;LD.EDGE.2 RET NC LD A,CB CP B RL L LD B,B0 JP NC,05CA;LD.8.BITS LD A,H XOR L LD H,A LD A,D OR E JR NZ,05A9;LD.LOOP LD A,H CP 01 RET 05E3 LD.EDGE 2 CALL 05E7;LD.EDGE.1 RET NC 05E7 LD.EDGE.1 LD A,16 05E9 LD.DELAY DEC A JR NZ,05E9;LD.DELAY AND A 05ED LD.SAMPLE INC B RET Z LD A,7F IN A,(FE) RRA RET NC XOR C AND 20 JR Z,05ED;LD.SAMPLE LD A,C CPL LD C,A AND 07 OR 08 OUT (FE),A SCF RET 0605 SAVE.ETC POP AF LD A,(5C74);T.ADDR SUB E0 LD (5C74),A;T.ADDR CALL 1C8C;EXPT.EXP CALL 2530;SYNTAX.Z JR Z,0652;SA.DATA LD BC,0011 LD A,(5C74);T.ADDR AND A JR Z,0621;SA.SPACE LD C,22 0621 SA.SPACE RST 0030;BC.SPACES PUSH DE POP IX LD B,0B LD A,20 0629 SA.BLANK LD (DE),A INC DE DJNZ 0629;SA.BLANK LD (IX+01),FF CALL 2BF1;STK.FETCH LD HL,FFF6 DEC BC ADD HL,BC INC BC JR NC,064B;SA.NAME LD A,(5C74);T.ADDR AND A JR NZ,0644;SA.NULL 0642 REPORT.F RST 0008;ERROR.1 DEFB 0E;"Invalid file name" 0644 SA.NULL LD A,B OR C JR Z,0652;SA.DATA LD BC,000A 064B SA.NAME PUSH IX POP HL INC HL EX DE,HL LDIR 0652 SA.DATA RST 0018;GET.CHAR CP E4 JR NZ,06A0;SA.SCR$ LD A,(5C74);T.ADDR CP 03 JP Z,1C8A;REPORT.C RST 0020;NEXT.CHAR CALL 28B2;LOOK.VARS SET 7,C JR NC,0672;SA.V.OLD LD HL,0000 LD A,(5C74);T.ADDR DEC A JR Z,0865;SA.V.NEW 0670 REPORT.2 RST 0008;ERROR.1 DEFB 01;"Variable not found"2 0672 SA.V.OLD JP NZ,1C8A;REPORT.C CALL 2530;SYNTAX.Z JR Z,0692;SA.DATA.1 INC HL LD A,(HL) LD (IX+0B),A INC HL LD A,(HL) LD (IX+0C),A INC HL 0685 SA.V.NEW LD (IX+0E),C LD A,01 BIT 6,C JR Z,068F;SA.V.TYPE INC A 06B5 SA.V.TYPE LD (IX+00),A 0692 SA.DATA.1 EX DE,HL RST 0020;NEXT.CHAR CP 29 JR NZ,0672;SA.V.OLD RST 0020;NEXT.CHAR CALL 1BEE;CHECK.END EX DE,HL JP 075A;SA.ALL 06AD SA.SCR$ CP AA JR NZ,06C3;SA.CODE LD A,(5C74);T.ADDR CP 03 JP Z,1C8A;REPORT.C RST 0020;NEXT.CHAR CALL 1BEE;CHECK.END LD (IX+0B),00 LD (IX+0C),1B LD HL,4000 LD (IX+0D),L LD (IX+0E),H JR 0710;SA.TYPE.3 06C3 SA.CODE CP AF JR NZ,0716;SA.LINE LD A,(5C74);T.ADDR CP 03 JP Z,1C8A;REPORT.C RST 0020;NEXT.CHAR CALL 2048;PR.ST.END JR NZ,06E1;SA.CODE.1 LD A,(5C74);T.ADDR AND A JP Z,1C8A;REPORT.C CALL 1CE6;USE.ZERO JR 06F0;SA.CODE.2 06E1 SA.CODE.1 CALL 1C82;EXPT.1NUM RST 0018;GET.CHAR CP 2C JR Z,065F;SA.CODE.3 LD A,(5C74);T.ADDR AND A JP Z,1C8A;REPORT.C 06F0 SA.CODE.2 CALL 1CE6;USE.ZERO JR 06F9;SA.CODE.4 06F5 SA.CODE.3 RST 0020;NEXT.CHAR CALL 1C82;EXPT.1NUM 06F9 SA.CODE.4 CALL 1BEE;CHECK.END CALL 1E99;FIND.INT2 LD (IX+0B),C LD (IX+0C),B CALL 1E99;FIND.INT2 LD (IX+0D),C LD (IX+0E),B LD H,B LD L,C 0710 SA.TYPE.3 LD (IX+00,)03 JR 075A;SA.ALL 0716 SA.LINE CP CA JR Z,0723;SA.LINE.1 CALL 1BEE;CHECK.END LD (IX+0E),80 JR 073A;SA.TYPE.0 0723 SA.LINE.1 LD A,(5C74);T.ADDR AND A JP NZ,1C8A;REPORT.C RST 0020;NEXT.CHAR CALL 1C82;EXPT.1NUM CALL 1BEE;CHECK.END CALL 1E99;FIND.INT2 LD (IX+0D),C LD (IX+0E),B 073A SA.TYPE.0 LD (IX+00),00 LD HL,(5C59);E.LINE LD DE,(5C53);PROG SCF SBC HL,DE LD (IX+0B),L LD (IX+0C),H LD HL,(5C4B);VARS SBC LD (IX+0F),L LD (IX+10),H EX DE,HL 075A SA.ALL LD A,(5C74);T.ADDR AND A JP Z,0970;SA.CONTRL PUSH HL LD BC,0011 ADD IX,BC 0767 LD.LOOK.H PUSH IX LD DE,0011 XOR A SCF CALL 0556;LD.BYTES POP IX JR NC,0767;LD.LOOK.H LD A,FE CALL 1601;CHAN.OPEN LD (IY+52),03;SCR.CT LD C,80 LD A,(IX+00) CP (IX-11) JR NZ,078A;LD.TYPE LD C,F6 078A LD.TYPE CP 04 JR NC,0767;LD.LOOK.H LD DE,09C0;cassette messages PUSH BC CALL 0C0A;PO.MSG POP BC PUSH IX POP DE LD HL,FFF0 ADD HL,DE LD B,0A LD A,(HL) INC A JR NZ,07A6;LD.NAME LD A,C ADD A,B LD C,A 07A6 LD.NAME INC DE LD A,(DE) CP (HL) INC HL JR NZ,07AD;LD,CH,PR INC C 07AD LD.CH.PR RST 0010;PRINT.A.1 DJNZ 07A6;LD.NAME BIT 7,C JR NZ,0767;LD.LOOK.H LD A,0D RST 0010;PRINT.A.1 POP HL LD A,(IX+00) CP 03 JR Z,07CB;VR.CONTRL LD A,(5C74);T.ADDR DEC A JP Z,0808;LD.CONTRL CP 02 JP Z,08B6;ME.CONTRL 07CB VR.CONTRL PUSH HL LD L,(IX-06) LD H,(IX-05) LD E,(IX+0B) LD D,(IX+0C) LD A,H OR L JR Z,07E9;VR.CONT.1 SBC HL,DE JR C,0806;REPORT.R JR Z,07E9;VR.CONT.1 LD A,(IX+00) CP 03 JR NZ,0806;REPORT.R 07E9 VR.CONT.1 POP HL LD A,H OR L JR NZ,07F4;VR.CONT.2 LD L,(IX+0D) LD H,(IX+0E) 07F4 VR.CONT.2 PUSH HL POP IX LD A,(5C74);T.ADDR CP 02 SCF JR NZ,0800;VR.CONT.3 AND A 0800 VR.CONT.3 LD A,FF 0802 LD.BLOCK CALL 0556;LD.BUYES RET C 0806 REPORT.R RST 0008;ERROR.1 DEFB 1A;"Tape loading error" 0808 LD.CONTRL LD E,(IX+0B) LD D,(IX+0C) PUSH HL LD A,H OR L JR NZ,0819;LD.CONT.1 INC DE INC DE INC DE EX DE,HL JR 0825;LD.CONT.2 0819 LD.CONT.1 LD L,(IX-06) LD H,(IX-05) EX DE,HL SCF SBC HL,DE JR C,082E;LD.DATA 0825 LD.CONT.2 LD DE,0005 ADD HL,DE LD B,H LD C,L CALL 1F05;TEST.ROOM