SRL L SRL L CPL AND 03 LD C,A LD B,00 LD IX,03D1 ADD IX,BC LD A,(5C48);BORDCR AND 38 RRCA RRCA RRCA OR 08 03D1 BE.IX+3 NOP 03D2 BE.IX+2 NOP 03D3 BE.IX+1 NOP 03D4 BE.IX+0 INC B INC C 03D6 BE.H&L.LP DEC C JR NZ,03D6;BE.H&L.LP LD C,3F DEC B JP NZ,03D6;BE.H&L.LP XOR 10 OUT (FE),A LD B,H LD C,A BIT 4,A JR NZ,03F2;BE.AGAIN LD A,D OR E JR Z,03F6;BE.END LD A,C LD C,L DEC DE JP (IX) 03F2 BE.AGAIN LD C,L INC C JP (IX) 03F6 BE.END EI RET 03F8 BEEP RST 0028;FP.CALC DEFB 31;duplicate DEFB 27;int DEFB C0;st-mem-0 DEFB 03;subtract DEFB 34;stk-data DEFB EC;exponent 7C DEFB 6C,98,1F,F5 DEFB 04;multiply DEFB A1;stk-one DEFB 0F;addition DEFB 38;end-calc LD HL,5C92;mem-0 LD A,(HL) AND A JR NZ,046C;REPORT.B INC HL LD C,(HL) INC HL LD B,(HL) LD A,B RLA SBC A,A CP C JR NZ,046C;REPORT.B INC HL CP (HL) JR NZ,046C;REPORT.B LD A,B ADD A,3C JP P,0425;BE.i.OK JP PO 046C;REPORT.B 0425 BE.i.OK LD B,FA 0427 BE.OCTAVE INC B SUB 0C JR NC,0427;BE.OCTAVE ADD A,0C PUSH BC LD HL,046E CALL 3406;LOC.MEM CALL 33B4;STACK.NUM RST 0028;FP.CALC DEFB 04;multiply DEFB 38;end-calc POP AF ADD A,(HL) LD (HL),A RST 0028;FP.CALC DEFB C0;st-mem-0 DEFB 02;delete DEFB 31;duplicate DEFB 38;end-calc CALL 1E94;FIND.INT1 CP 0B JR NC,046C;REPORT.B RST 0028;FP.CALC DEFB E0;get-mem-0 DEFB 04;multiply DEFB E0;get-mem-0 DEFB 34;stk-data DEFB 80;four bytes DEFB 43;exponent 93 DEFB 55,9F,80 DEFB 01;exchange DEFB 05;division DEFB 34;stk-data DEFB 35;exponent 85 DEFB 71 DEFB 03;subtract DEFB 38;end-calc CALL 1E99;FIND.INT2 PUSH BC CALL 1E99;FIND.INT2 POP HL LD D,B LD E,C LD A,D OR E RET Z DEC DE JP 03B5;BEEPER 046C REPORT.B RST 0008;ERROR.1 DEFB 0A;Out of range 046E DEFB 89,02,D0,12,86;261.63 hz C 0473 DEFB 89,0A,97,60,75;277.18 hz C# 0478 DEFB 89,12,D5,17,1F;293.66 hz D 047D DEFB 89,1B,90,41,02;311.13 hz D# 0482 DEFB 89,24,D0,53,CA;329.63 hz E 0487 DEFB 89,2E,9D,36,B1;349.23 hz F 048C DEFB 89,38,FF,49,3E;369.99 hz F# 0491 DEFB 89,43,FF,6A,73;392.00 hz G 0496 DEFB 89,4F,A7,00,54;415.30 hz G# 049B DEFB 89,5C,00,00,00;440.00 hz A 04A0 DEFB 89,69,14,F6,24;466.16 hz A# 04A5 DEFB 89,76,F1,10,05;493.88 hz B 04AA PROG.NAME CALL 24FB;SCANNING LD A,(5C3B);FLAGS ADD A,A JP M,1C8A;REPORT.C POP HL RET NC PUSH HL CALL 2BF1;STK.FETCH LD H,D LD L,E DEC C RET M ADD HL,BC SET 7,(HL) RET 04C2 SA.BYTES LD HL,053F;SA.LD.RET PUSH HL LD HL,1F80 BIT 7,A JR Z,04D0;SA.FLAG LD HL,0C98 04D0 SA.FLAG EX AF,AF' INC DE DEC IX DI LD A,02 LD B,A 04D8 SA.LEADER DJNZ 04D8;SA.LEADER OUT (FE),A XOR 0F LD B,A4 DEC L JR NZ,04D8;SA.LEADER DEC B DEC H JP P,04D8;SA.LEADER LD B,2F 04EA SA.SYNC.1 DJNZ 04EA;SA.SYNC.1 OUT (FE),A LD A,0D LD B,37 04F2 SA.SYNC.2 DJNZ 04F2;SA.SYNC.2 OUT (FE),A LD BC,3B0E EX AF,AF' LD L,A JP 0507;SA.START 04FE SA.LOOP LD A,D OR E JR Z,050E;SA.PARITY LD L,(IX+00) 0505 SA.LOOP.P LD A,H XOR L 0507 SA.START LD H,A LD A,01 SCF JP 0525;SA.8.BITS 050E SA.PARITY LD L,H JR 0505;SA.LOOP.P 0511 SA.BIT.2 LD A,C BIT 7,B 0514 SA.BIT.1 DJNZ 0514;SA.BIT.1 JR NC,051C;SA.OUT LD B,42 051A SA.SET DJNZ 051A;SA.ST 051C SA.OUT OUT (FE),A LD B,3E JR NZ,0511;SA.SET DEC B XOR A INC A 0525 SA.8.BITS RL L JP NZ,0514;SA.BIT.1 DEC DE INC IX LD B,31 LD A,7F IN A,(FE) RRA RET NC LD A,D INC A JP NZ,04FE;SA.LOOP LD B,3B 053C SA.DELAY DJNZ 053C;SA.DELAY RET 053F SA/LD.RET PUSH AF LD A,(5C48);BORDCR AND 38 RRCA RRCA RRCA OUT (FE),A LD A,7F IN A,(FE) RRA EI JR C,0554;SA/LD.END 0552 REPORT.D RST 0008;ERROR.1 DEFB 0C;"BREAK/CONT repeats" 0554 SA/LD.END POP AF RET O556 LD.BYTES INC D EX AF,AF' DEC D DI LD A,0F OUT (FE),A LD HL,053F;SA/LD.RET PUSH HL IN A,(FE) RRA AND 20 OR 02 LD C,A CP A 056B LD.BREAK RET NZ 056C LD.START CALL 05E7;LD.EDGE.1 JR NC,056B;LD.BREAK LD HL,0415 0574 LD.WAIT DJNZ 0574;LD.WAIT DEC HL LD A,H OR L JR NZ,0574;LD.WAIT CALL 05E3;LD.EDGE.2 JR NC,056B;LD.BREAK 0580 LD.LEADER LD B,9C CALL 05E3;LD.EDGE.2 JR NC,056B;LD.BREAK LD A,C6 CP B JR NC,056C;LD.START INC H JR NZ,0580;LD.LEADER 058F LD.SYNC LD B,C9 CALL 05E7;LD.EDGE.1 JR NC,056B;LD.BREAK LD A,B CP D4 JR NC,058F;LD.SYNC CALL 05E7;LD.EDGE.1 RET NC LD A,C XOR 03 LD C,A LD H,00 LD B,B0 JR 05C8;LD.MARKER 05A9 LD.LOOP EX AF,AF' JR NZ,05B3;LD.FLAG JR NC,05BD;LD.VERIFY LD (IX+00),L JR 05C2;LD.NEXT 05B3 LD.FLAG RL C XOR L RET NZ LD A,C RRA LD C,A INC DE JR 05C4;LD.DEC 05BD LD.VERIFY LD A,(IX+00) XOR L RET NZ 05C2 LD.NEXT INC IX 05C4 LD.DEC DEC DE EX AF,AF' LD B,B2