home *** CD-ROM | disk | FTP | other *** search
- LD HL,1555;REPORT.G PUSH HL LD HL,(5C61);WORKSP SCF SBC HL,DE PUSH HL LD H,B LD L,C CALL 196E;LINE.ADDR JR NZ,157D;MAIN.ADD1 CALL 19B8;NEXT.ONE CALL 19E8;RECLAIM.2 157D MAIN.ADD.1 POP BC LD A,C DEC A OR B JR 15AB;MAIN.ADD.2 PUSH BC INC BC INC BC INC BC INC BC DEC HL LD DE,(5C53);PROG PUSH DE CALL 1655;MAKE.ROOM POP HL LD (5C53),HL;PROG POP BC PUSH BC INC DE LD HL,(5C61);WORKSP DEC HL DEC HL LDDR LD HL,(5C49);E.PPC EX DE,HL POP BC LD (HL),B DEC HL LD (HL),C DEC HL LD (HL),E DEC HL LD (HL),D 15AB MAIN.ADD.2 POP AF JP 12A2;MAIN.EXEC 15AF DEFW F409;PRINT.OUT DEFW A810;KEY.INPUT DEFB 'K' DEFW F409;PRINT.OUT DEFW C415;REPORT.J DEFB 'S' DEFW 810F;ADD.CHAR DEFW C415;REPORT.J DEFB 'R' DEFW F409;PRINT.OUT DEFW C415;REPORT.J DEFB 'P',80 15C4 REPORT.J RST 0008;ERROR.1 DEFB 12;"Invalid I/O device" 15C6 DEFW 0100; stream FD - K DEFW 0600; stream FE - S DEFW 0B00; stream FF - R DEFW 0100; stream 00 - K DEFW 0100; stream 01 - K DEFW 0600; stream 02 - S DEFW 1000; stream 03 - P 15D4 WAIT.KEY BIT 5,(IY+02);TV.FLAG JR NZ,15DE;WAIT.KEY1 SET 3,(IY+02);TV.FLAG 15DE WAIT.KEY.1 CALL 15E6;INPUT.AD RET C JR Z,15DE;WAIT.KEY1 15E4 REPORT.8 RST 0008;ERROR.1 DEFB 07;"End of file" 15E6 INPUT.AD EXX PUSH HL LD HL,(5C51);CURCHL INC HL INC HL JR 15F7;CALL.SUB 15EF OUT.CODE LD E,30 ADD A,E 15F2 PRINT.A.2 EXX PUSH HL LD HL,(5C51);CURCHL 15F7 CALL.SUB LD E,(HL) INC HL LD D,(HL) EX DE,HL CALL 16C2;CALL.JUMP POP HL EXX RET 1601 CHAN.OPEN ADD A,A ADD A,16 LD L,A LD H,5C;5C16 is stream 00 LD E,(HL) INC HL LD D,(HL) LD A,D OR E JR NZ,1610;CHAN.OP.1 160E REPORT.O RST 0008;ERROR.1 DEFB 17;"Invalid stream" 1610 CHAN.OP.1 DEC DE LD HL,(5C4F);CHANS ADD HL,DE 1615 CHAN.FLAG LD (5C51),HL;CURCHL RES 4,(IY+30);FLAGS2 INC HL INC HL INC HL INC HL LD C,(HL) LD HL,162D;channel code look-up table CALL 16DC;INDEXER RET NC LD D,00 LD E,(HL) ADD HL,DE 162C CALL.JUMP JP (HL) 162D DEFB 'K',1634-162D;CHAN.K DEFB 'S',1635-1642;CHAN.S DEFB 'P',1636-164D;CHAN.P DEFB 0 1634 CHAN.K SET 0,(IY+02);TV.FLAG RES 5,(IY+01);FLAGS SET 4,(IY+30);FLAGS2 JR 1646;CHAN.S.1 1642 CHAN.S RES 0,(IY+02);TV.FLAG 1646 CHAN.S.1 RES 1,(IY+01);FLAGS JP 0D4D;TEMPS 164D CHAN.P SET 1,(IY+01);FLAGS RET 1652 ONE.SPACE LD BC,0001 1655 MAKE.ROOM PUSH HL CALL 1F05;TEST.ROOM POP HL CALL 1664;POINTERS LD HL,(5C65);STKEND EX DE,HL LDDR RET 1664 POINTERS PUSH AF PUSH HL LD HL,5C4B;VARS LD A,0E 166B PTR.NEXT LD E,(HL) INC HL LD D,(HL) EX (SP),HL AND A SBC HL,DE ADD HL,DE EX (SP),HL JR NC,167F;PTR.DONE PUSH DE EX DE,HL ADD HL,BC EX DE,HL LD (HL),D DEC HL LD (HL),E INC HL POP DE 1675 PTR.DONE INC HL DEC A JR NZ,166B;PTR.NEXT EX DE,HL POP DE POP AF AND A SBC HL,DE LD B,H LD C,L INC BC ADD HL,DE EX DE,HL RET 168F LINE.ZERO DEFW 0000 1691 LINE.NO.A EX DE,HL LD DE,168F;LINE.ZERO 1695 LINE.NO LD A,(HL) AND C0 JR NZ,1691;LINE.NO.A LD D,(HL) INC HL LD E,(HL) RET 169E RESERVE LD HL,(5C63);STKBOT DEC HL CALL 1655;MAKE.ROOM INC HL INC HL POP BC LD (5C63),BC;WORKSP POP BC EX DE,HL INC HL RET 16B0 SET.MIN LD HL,(5C59);E.LINE LD (HL),0D LD (5C5B),HL;K.CUR INC HL LD (HL),80 INC HL LD (5C61),HL;WORKSP 16BF SET.WORK LD HL,(5C61);WORKSP LD (5C63),HL;STKBOT 16C5 SET.STK LD HL,(5C63);STKBOT LD (5C65),HL;STKEND PUSH HL LD HL,5C92;MEMBOT LD (5C68),HL;MEM POP HL RET 16D4 REC.EDIT LD DE,(5C59);E.LINE JP 19E5;RECLAIM.1 16DB INDEXER.1 INC HL 16DC INDEXER LD A,(HL) AND A RET Z CP C INC HL JR NZ,16DB;INDEXER.1 SCF RET 16E5 CLOSE CALL 171E;STR.DATA CALL 1701;CLOSE.2 LD BC,0000 LD DE,A3E2;-5C1E EX DE,HL ADD HL,DE JR C,16FC;CLOSE.1 LD BC,15D4;initial stream data ADD HL,BC LD C,(HL) INC HL LD B,(HL) 16FC CLOSE.1 EX DE,HL LD (HL),C INC HL LD (HL),B RET 1701 CLOSE.2 PUSH HL LD HL,(5C4F);CHANS ADD HL,BC INC HL INC HL INC HL LD C,(HL) EX DE,HL LD HL,1716;CLOSE stream look-up table CALL 16DC;INDEXER LD C,(HL) LD B,00 ADD HL,BC JP (HL) 1716 DEFB 'K',171C-1716 DEFB 'S',171C-1718 DEFB 'P',171C-171A 171C CLOSE.STR POP HL RET 171E STR.DATA CALL 1E9A;FIND.INT1 CP 10 JR C,1727;STR.DATA.1 1725 REPORT.O RST 0008;ERROR.1 DEFB 17;"Invalid stream" 1727 STR.DATA.1 ADD A,03 RLCA LD HL,5C10;STRMS LD C,A LD B,00 ADD HL,BC LD C,(HL) INC HL LD B,(HL) DEC HL RET 1736 OPEN RST 0028;FP.CALC DEFB 01;exchange DEFB 38;end-calc CALL 171E;STR.DATA LD A,B OR C JR Z,1756;OPEN.1 EX DE,HL LD HL,(5C4F);CHANS ADD HL,BC INC HL