home *** CD-ROM | disk | FTP | other *** search
- 111D ED.COPY CALL 0D4D;TEMPS RES 3,(IY+02);TV.FLAG RES 5,(IY+02);TV.FLAG LD HL,(5C8A);SPOSNL PUSH HL LD HL,(5C3D);ERR.SP PUSH HL LD HL,1167;ED.FULL PUSH HL LD (5C3D),SP;ERR.SP LD HL,(5C82);ECHO.E PUSH HL SCF CALL 1195;SET.DE EX DE,HL CALL 187D;OUT.LINE.2 EX DE,HL CALL 18E1;OUT.CURS LD HL,(5C8A);SPOSNL EX (SP),HL EX DE,HL CALL 0D4D;TEMPS 1150 ED.BLANK LD A,(5C8B);SPOSNL hi SUB D JR C,117C;ED.C.DONE JR NZ,115E;ED.SPACES LD A,E SUB A,(IY+50);SPOSNL JR NC,117C;ED.C.DONE 11BE ED.SPACES LD A,20 PUSH DE CALL 09F4;PRINT.OUT POP DE JR 1150;ED.BLANK 1167 ED.FULL LD D,00 LD E,(IY-02);RASP LD HL,1A90 CALL 03B5;BEEPER LD (IY+00),FF;ERR.NR LD DE,(5C8A);SPOSNL JR 117E;ED.C.END 117C ED.C.DONE POP DE POP HL 117E ED.C.END POP HL LD (5C3D),HL;ERR.SP POP BC PUSH DE CALL 0DD9;CL.SET POP HL LD (5C82),HL;ECHO.E LD (IY+26),00;X.PTR hi RET 1190 SET.HL LD HL,(5C61);WORKSP DEC HL AND A 1195 SET.DE LD DE,(5C59);E.LINE BIT 5,(IY+37);FLAGX RET Z LD DE,(5C61);WORKSP RET C LD HL,(5C63);STKBOT RET 11A7 REMOVE.FP LD A,(HL) CP 0E LD BC,0006 CALL Z,19E8;RECLAIM.2 LD A,(HL) INC HL CP 0D JR NZ,11A7;REMOVE.FP RET 11B7 NEW DI LD A,FF LD DE,(5CB2);RAMTOP EXX LD BC,(5CB4);P.RAMT LD DE,(5C38);RASP/PIP LD HL,(5C7B);UDG EXX 11CB START.NEW LD B,A LD A,07 OUT (FE),A LD A,3F LD I,A DEFB 00,00,00,00,00,00 11DA RAM.CHECK LD H,D LD L,E 11DC RAM.FILL LD (HL),02 DEC HL CP H JR NZ,11DC;RAM.FILL 11E2 RAM.READ AND A SBC HL,DE ADD HL,DE INC HL JR NC,11EF;RAM.DONE DEC (HL) JR Z,11EF;RAM.DONE DEC (HL) JR Z,11E2;RAM.READ 11EF RAM.DONE DEC HL EXX LD (5CB4),BC;P.RAMT LD (5C38),DE;RASP/PIP LD (5C7B),HL;UDG EXX INC B JR Z,1219;RAM.SET LD (5CB4),HL;P.RAMT LD DE,3EAF;last UDG byte LD BC,00A8;8 x 21 bytes EX DE,HL LDDR EX DE,HL INC HL LD (5C7B),HL;UDG DEC HL LD BC,0040 LD (5C38),BC;RASP/PIP 1219 RAM.SET LD (5CB2),HL;RAM.TOP LD HL,3C00 LD (5C36),HL;CHARS LD HL,(5CB2);RAM.TOP LD (HL),3E DEC HL LD SP,HL DEC HL DEC HL LD (5C3D),HL;ERR.SP IM 1 LD IY,5C3A;ERR.NR EI LD HL,5CB6 LD (5C4F),HL;CHANS LD DE,15AF;initial channel data LD BC,0015 EX DE,HL LDIR EX DE,HL DEC HL LD (5C57),HL;DATADD INC HL LD (5C53),HL;PROG LD (5C4B),HL;VARS LD (HL),80 INC HL LD (5C59),HL;E.LINE LD (HL),0D INC HL LD (HL),80 INC HL LD (5C61),HL;WORKSP LD (5C63),HL;STKBOT LD (5C65),HL;STKEND LD A,38 LD (5C8D),A;ATTR.P LD (5C8F),A;ATTR.T LD (5C48),A;BORDCR LD HL,0523 LD (5C09),HL;REPDEL/REPPER DEC (IY-3A);KSTATE0 DEC (IY-36);KSTATE4 LD HL,15C6;initial stream data LD DE,5C10;STRMS LD BC,000E LDIR SET 1,(IY+01);FLAGS CALL 0EDF;CLEAR.PRB LD (IY+31),02;DF.SZ CALL 0D6B;CLS XOR A LD DE,1538;copyright message CALL 0C0A;PO.MSG SET 5,(IY+02);TV.FLAG JR 12A9;MAIN.1 12A2 MAIN.EXEC LD (IY+31),02;DF.SZ CALL 1795;AUTO.LIST 12A9 MAIN.1 CALL 16B0;SET.MIN 12AC MAIN.2 LD A,00 CALL 1601;CHAN.OPEN CALL 0F2C;EDITOR CALL 1B17;LINE.SCAN BIT 7,(IY+00);ERR.NR JR NZ,12CF;MAIN.3 BIT 4,(IY+30);FLAGS2 JR Z,1303;MAIN.4 LD HL,(5C59);E.LINE CALL 11A7;REMOVE.FP LD (IY+00),FF;ERR.NR JR 12AC;MAIN.2 12CF MAIN.3 LD HL,(5C59);E.LINE LD (5C5D),HL;CH.ADD CALL 19FB;E.LINE.NO LD A,B OR C JP NZ,155D;MAIN.ADD RST 0018;GET.CHAR CP 0D JR Z,12A2;MAIN.EXEC BIT 0,(IY+46);FLAGS2 CALL NZ,0DAF;CL.ALL CALL 0D6E;CLS.LOWER LD A,19 SUB A,(IY+4F);S.POSN hi LD (5C8C),A;SCR.CT SET 7,(IY+01);FLAGS LD (IY+00),FF;ERR.NR LD (IY+0A),01;NSPPC CALL 1B8A;LINE.RUN 1303 MAIN.4 HALT RES 5,(IY+01);FLAGS BIT 1,(IY+30);FLAGS2 CALL NZ,0ECD;COPY.BUFF LD A,(5C3A);ERR.NR INC A 1313 MAIN.G PUSH AF LD HL,0000 LD (IY+37),H;FLAGX LD (IY+26),H;X.PTR hi LD (5C0B),HL;DEFADD LD HL,0001 LD (5C16),HL;STRMS 6 CALL 16B0;SET.MIN RES 5,(IY+37);FLAGX CALL 0D6E;CLS.LOWER SET 5,(IY+02);TV.FLAG POP AF LD B,A CP 0A JR C,133C;MAIN.5 ADD A,07 133C MAIN.5 CALL 15EF;OUT.CODE LD A,20 RST 0010;PRINT.A.1 LD A,B LD DE,1391;report table CALL 0C0A;PO.MSG XOR A [Plus 2: CALL 3B3B LD DE,1536;comma space NOP ] CALL 0C0A;PO.MSG LD BC,(5C45);PPC CALL 1A1B;OUT.NUM.1 LD A,3A RST 0010;PRINT.A.1 LD C,(IY+0D);SUBPPC LD B,00 CALL 1A1B;OUT.NUM.1 CALL 1097;CLEAR.SP LD A,(5C3A);ERR.NR INC A JR Z,1386;MAIN.9 CP 09 JR Z,1373;MAIN.6 CP 15 JR NZ,1376;MAIN.7 1373 MAIN.6 INC (IY+0D);SUBPPC 1376 MAIN.7 LD BC,0003 LD DE,5C70;OSPCC LD HL,5C44;NSPPC BIT 7,(HL);NSPPC JR Z,1384;MAIN.8 ADD HL,BC 1384 MAIN.8 LDDR 1386 MAIN.9 LD (IY+0A),FF;NSPPC RES 3,(IY+01);FLAGS JP 12AC;MAIN.2 (last byte in each message +80) 1391 DEFB 80 DEFM 'OK' DEFM 'NEXT without FOR' DEFM 'Variable not found' DEFM 'Subscript wrong' DEFM 'Out of memory' DEFM 'Out of screen' DEFM 'Number too big' DEFM 'RETURN without GOSUB' DEFM 'End of file' DEFM 'STOP statement' DEFM 'Invalid argument' DEFM 'Integer out of range' DEFM 'Nonsense in BASIC' DEFM 'BREAK - CONT repeats' DEFM 'Out of DATA' DEFM 'Invalid file name' DEFM 'No room for line' DEFM 'STOP in INPUT' DEFM 'FOR without NEXT' DEFM 'Invalid I/O device' DEFM 'Invalid colour' DEFM 'BREAK into program' DEFM 'RAMTOP no good' DEFM 'Statement lost' DEFM 'Invalid stream' DEFM 'FN without DEF' DEFM 'Parameter error' DEFM 'Tape loading error' 1537 DEFM ', ' 1539 DEFM ' 1982 Sinclair Research Ltd' 1555 REPORT.G LD A,10 LD BC,0000 JP 1313;MAIN.G 155D MAIN.ADD LD (5C49),BC;E.PPC LD HL,(5C5D);CH.ADD EX DE,HL