Difference between revisions of "PROTRACKER372 PT6 371 H"

From MSX MUSIC WIKI
Jump to: navigation, search
(Created page with "pt6_371 C��ЦЛ�МН( MAIN "",#C6 EDORN XOR A LD (volA),A,(volC),A LD BC,mEDORN CALL WINDUM LD HL,tEDORN,DE,#800 C...")
(Tags: Mobile edit, Mobile web edit)
 
(Tags: Mobile edit, Mobile web edit)
 
Line 1: Line 1:
pt6_371 C��ЦЛ�МН(        MAIN "",#C6
+
pt6_371 C��ЦЛ�МН(         
EDORN
+
MAIN "",#C6
        XOR A
+
EDORN
        LD (volA),A,(volC),A
+
        XOR A
        LD BC,mEDORN
+
        LD (volA),A,(volC),A
        CALL WINDUM
+
        LD BC,mEDORN
        LD HL,tEDORN,DE,#800
+
        CALL WINDUM
        CALL PRMENU
+
        LD HL,tEDORN,DE,#800
      ;LD HL,tORNKEY,DE,#12
+
        CALL PRMENU
      ;CALL PRMENU
+
        ;LD HL,tORNKEY,DE,#12
        LD HL,tORNo_s,DE,#711
+
        ;CALL PRMENU
        CALL PRMENU
+
        LD HL,tORNo_s,DE,#711
        CALL OUT4
+
        CALL PRMENU
        CALL HLORN
+
        CALL OUT4
        LD (ornadr),HL
+
        CALL HLORN
        LD DE,EDORbf
+
        LD (ornadr),HL
        LD BC,64
+
        LD DE,EDORbf
        LDIR  
+
        LD BC,64
        CALL PRORNos
+
        LDIR  
        LD A,(ORN),HL,TORNSZ
+
        CALL PRORNos
        ADD A,A,A,L
+
        LD A,(ORN),HL,TORNSZ
        LD L,A,A,(HL),B,A,(EoLOOP),A
+
        ADD A,A,A,L
        INC L
+
        LD L,A,A,(HL),B,A,(EoLOOP),A
        LD A,(HL)
+
        INC L
        SUB B
+
        LD A,(HL)
        LD (EoLPlen),A
+
        SUB B
      PUSH HL
+
        LD (EoLPlen),A
        CALL PRORN
 
        XOR A
 
        LD (EoLIN),A,(EoMflag),A
 
        CALL GornMRK
 
EDORN0
 
      CALL RESHALT
 
        CALL EORNCUR
 
        CALL EoCHMRK
 
        CALL EoPRMRK
 
        CALL EDORNKY
 
        LD A,(ORN),(piaORN),A
 
EoSMP=$+1
 
        LD A,0,(piaSMP),A
 
        ADD A,A
 
        LD L,A,H,'TSMPSZ
 
        LD A,(HL),(piSLOOP),A
 
        INC L
 
        LD A,(HL),(piSEND),A
 
        LD A,(EoLPlen),B,A
 
        LD A,(EoLOOP),(piOLOOP),A
 
        ADD A,B
 
        LD (piOEND),A
 
        CALL OUT4
 
        LD HL,EDORbf
 
ornadr=$+1
 
        LD DE,0,BC,64
 
        LDIR
 
        CALL PIANO
 
        CALL TSTFIRE
 
        JNC EDORN0
 
      CALL DOWNMER
 
      POP HL
 
ORNQU
 
        LD A,(EoLOOP),B,A
 
        LD A,(EoLPlen)
 
ORNQ    ADD A,B
 
        LD (HL),A
 
        DEC L
 
        LD (HL),B
 
      CALL CLOSWIN
 
      LD A,(OCT)
 
      JP PROCT
 
HEXDIG
 
        ADD A,"0
 
        CP ":
 
        RET C
 
        ADD A,"A"-":
 
        RET
 
PRMEMOS
 
memol=$+1
 
        LD DE,#60E
 
        CALL PRMEMO
 
        LD HL,Tmemo
 
memo=$+1
 
        LD B,0
 
        DJNZ $+4
 
        LD D,6
 
        DJNZ $+4
 
        LD D,11
 
        DJNZ $+4
 
        LD D,#E+2
 
        DJNZ $+4
 
        LD D,#18+8
 
        DJNZ $+4
 
        LD D,#22+14
 
        LD (memol),DE
 
        JP PRMENU
 
EPsseP
 
        LD A,(CURX)
 
        LD E,1
 
        LD BC,#200
 
        CP 4
 
        RET C
 
        INC E
 
        LD BC,#102
 
        CP 6
 
        RET C
 
        LD BC,#503
 
        INC E
 
        CP 11+4
 
        RET C
 
        LD C,8
 
        INC E
 
        CP 16+8
 
        RET C
 
        LD C,13
 
        INC E
 
        RET
 
EPsse
 
        CALL EPsseP
 
        LD A,E,(memo),A
 
        PUSH BC
 
        CALL PRMEMOS
 
        LD A,(EPAT),B,A,C,0
 
        CALL GETnADR
 
        LD DE,BUF
 
        LD BC,#480
 
        LDIR
 
        CALL OUT6
 
        LD HL,BUF
 
        POP BC
 
        LD A,B,B,0
 
        ADD HL,BC
 
        LD C,A
 
        LD DE,MEMOBUF
 
        LD A,64
 
EPsse0  PUSH BC
 
 
         PUSH HL
 
         PUSH HL
         LDIR  
+
        CALL PRORN
 +
        XOR A
 +
        LD (EoLIN),A,(EoMflag),A
 +
        CALL GornMRK
 +
EDORN0
 +
         CALL RESHALT
 +
        CALL EORNCUR
 +
        CALL EoCHMRK
 +
        CALL EoPRMRK
 +
        CALL EDORNKY
 +
        LD A,(ORN),(piaORN),A
 +
EoSMP=$+1
 +
        LD A,0,(piaSMP),A
 +
        ADD A,A
 +
        LD L,A,H,'TSMPSZ
 +
        LD A,(HL),(piSLOOP),A
 +
        INC L
 +
        LD A,(HL),(piSEND),A
 +
        LD A,(EoLPlen),B,A
 +
        LD A,(EoLOOP),(piOLOOP),A
 +
        ADD A,B
 +
        LD (piOEND),A
 +
        CALL OUT4
 +
        LD HL,EDORbf
 +
ornadr=$+1
 +
        LD DE,0,BC,64
 +
        LDIR  
 +
        CALL PIANO
 +
        CALL TSTFIRE
 +
        JNC EDORN0
 +
        CALL DOWNMER
 
         POP HL
 
         POP HL
         LD C,18
+
ORNQU
        ADD HL,BC
+
        LD A,(EoLOOP),B,A
        POP BC
+
        LD A,(EoLPlen)
        DEC A
+
ORNQ    ADD A,B
        JNZ EPsse0
+
        LD (HL),A
        RET  
+
        DEC L
EPssr
+
        LD (HL),B
        CALL EPsseP
+
        CALL CLOSWIN
        LD A,(memo)
+
        LD A,(OCT)
        CP E
+
         JP PROCT
        JZ EPssrE
+
HEXDIG
        CP 3
+
        ADD A,"0
        RET C
+
        CP ":
        LD A,E
+
        RET C
        CP 3
+
        ADD A,"A"-":
        RET C
+
        RET
EPssrE
+
PRMEMOS
        PUSH BC
+
memol=$+1
        LD A,(EPAT)
+
        LD DE,#60E
        LD B,A,C,0
+
        CALL PRMEMO
        CALL GETnADR
+
        LD HL,Tmemo
        LD (EPssrDE),HL
+
memo=$+1
        LD DE,BUF
+
        LD B,0
        LD BC,#480
+
        DJNZ $+4
        LDIR  
+
        LD D,6
        LD A,(pg) ;pat
+
        DJNZ $+4
        EXA  
+
        LD D,11
        CALL OUT6
+
        DJNZ $+4
        LD HL,BUF
+
        LD D,#E+2
        POP BC
+
        DJNZ $+4
        LD A,B,B,0
+
        LD D,#18+8
        ADD HL,BC
+
        DJNZ $+4
        LD C,A
+
        LD D,#22+14
        LD DE,MEMOBUF
+
        LD (memol),DE
        EXD  
+
        JP PRMENU
        LD A,64
+
EPsseP
EPssr0  PUSH BC
+
        LD A,(CURX)
        PUSH DE
+
        LD E,1
        LDIR  
+
        LD BC,#200
        POP DE
+
        CP 4
        EXD  
+
        RET C
        LD C,18
+
        INC E
        ADD HL,BC
+
        LD BC,#102
        EXD  
+
        CP 6
        POP BC
+
        RET C
        DEC A
+
        LD BC,#503
        JNZ EPssr0
+
        INC E
        EXA  
+
        CP 11+4
        CALL OUTME
+
        RET C
        LD HL,BUF
+
        LD C,8
EPssrDE=$+1
+
        INC E
 +
        CP 16+8
 +
        RET C
 +
        LD C,13
 +
        INC E
 +
        RET
 +
EPsse
 +
        CALL EPsseP
 +
        LD A,E,(memo),A
 +
        PUSH BC
 +
        CALL PRMEMOS
 +
        LD A,(EPAT),B,A,C,0
 +
        CALL GETnADR
 +
        LD DE,BUF
 +
        LD BC,#480
 +
        LDIR
 +
        CALL OUT6
 +
        LD HL,BUF
 +
        POP BC
 +
        LD A,B,B,0
 +
        ADD HL,BC
 +
        LD C,A
 +
        LD DE,MEMOBUF
 +
        LD A,64
 +
EPsse0  PUSH BC
 +
        PUSH HL
 +
        LDIR
 +
        POP HL
 +
        LD C,18
 +
        ADD HL,BC
 +
        POP BC
 +
        DEC A
 +
        JNZ EPsse0
 +
        RET  
 +
EPssr
 +
        CALL EPsseP
 +
        LD A,(memo)
 +
        CP E
 +
        JZ EPssrE
 +
        CP 3
 +
        RET C
 +
        LD A,E
 +
        CP 3
 +
        RET C
 +
EPssrE
 +
        PUSH BC
 +
        LD A,(EPAT)
 +
        LD B,A,C,0
 +
        CALL GETnADR
 +
        LD (EPssrDE),HL
 +
        LD DE,BUF
 +
        LD BC,#480
 +
        LDIR  
 +
        LD A,(pg) ;pat
 +
        EXA  
 +
        CALL OUT6
 +
        LD HL,BUF
 +
        POP BC
 +
        LD A,B,B,0
 +
        ADD HL,BC
 +
        LD C,A
 +
        LD DE,MEMOBUF
 +
        EXD  
 +
        LD A,64
 +
EPssr0  PUSH BC
 +
        PUSH DE
 +
        LDIR  
 +
        POP DE
 +
        EXD  
 +
        LD C,18
 +
        ADD HL,BC
 +
        EXD  
 +
        POP BC
 +
        DEC A
 +
        JNZ EPssr0
 +
        EXA  
 +
        CALL OUTME
 +
        LD HL,BUF
 +
EPssrDE=$+1
 +
        LD DE,0
 +
        LD BC,#480
 +
        LDIR
 +
        JP PRPATU
 +
EXCHANG
 +
        CALL FROMSZ
 +
        PUSH AF
 +
        LD A,(pat1)
 +
        LD B,A
 +
        CALL GETnADR
 +
        PUSH HL
 +
        POP IX
 +
        CALL CHN1PP
 +
        ADD HL,BC
 +
        LD A,(chn2)
 +
        LD C,3
 +
        DEC A
 +
        JZ EXCHX2
 +
        LD C,8
 +
        DEC A
 +
        JZ $+4
 +
        LD C,13
 +
EXCHX2  ADD IX,BC
 +
        POP AF
 +
EXCH0  EXA
 +
        PUSH HL
 +
        LD DE,BUF
 +
        LD BC,5
 +
        LDIR
 +
        POP DE
 +
        PUSH DE,IX
 +
        POP HL
 +
        LD C,5
 +
        LDIR
 +
        LD HL,BUF
 +
        PUSH IX
 +
        POP DE
 +
        LD C,5
 +
        LDIR
 +
        POP HL
 +
        LD C,18
 +
        ADD HL,BC
 +
        ADD IX,BC
 +
        EXA
 +
        DEC A
 +
        JNZ EXCH0
 +
        JP PRPATO
 +
CATBAR
 +
        LD HL,#48B5
 +
        XOR A
 +
        LD (CATBf),A
 +
        LD B,A,C,A
 +
        LD E,#81
 +
        LD A,(catH)
 +
        OR A
 +
        JNZ CATBNZ
 +
        INC A
 +
        LD D,A
 +
        JR CATBARP
 +
CATBNZ  ADD A,A
 +
        DEC A
 +
        LD D,A
 +
        LD A,(cattop)
 +
        OR A
 +
        CALL NZ,CATBARP
 +
        LD E,#BD
 +
        LD A,(catH)
 +
        CP 9
 +
        JC CATBARP
 +
        LD A,8
 +
        CALL CATBARP
 +
        LD A,(catH)
 +
cattop=$+1
 +
        SUB 0
 +
        SUB 8
 +
        LD E,#81
 +
        RET Z
 +
CATBARP EXA
 +
CATBf=$+1
 +
CATBAR0 LD A,0
 +
        XOR -1
 +
        LD (CATBf),A
 +
        JZ $+6
 +
        LD (HL),E
 +
        CALL DHL
 +
        SCF
 +
        LD A,C
 +
        ADC A,D
 +
        LD C,A
 +
        JNC CATBAR0
 +
        EXA
 +
        DEC A
 +
        JNZ CATBARP
 +
        RET
 +
USEBAR
 +
        LD A,(catH)
 +
        CP 9
 +
        RET C
 +
        EXA
 +
        CALL FIRE
 +
        RET Z
 +
        LD A,(ARX)
 +
        SUB #A8
 +
        CP 8
 +
        RET NC
 +
        LD A,(ARXY)
 +
        SUB #68
 +
        CP #40
 +
        RET NC
 +
        LD L,A
 +
        XOR A
 +
        LD (USEBf),A
 +
        LD E,A,C,A,H,A
 +
        LD A,(catH)
 +
        ADD A,A
 +
        DEC A
 +
        LD D,A
 +
USEBAR0 LD A,E
 +
        CP L
 +
        JNC USEBok
 +
USEBf=$+1
 +
USEBAR1 LD A,0
 +
        XOR -1
 +
        LD (USEBf),A
 +
        JZ $+3
 +
        INC E
 +
        SCF
 +
        LD A,C
 +
        ADC A,D
 +
        LD C,A
 +
        JNC USEBAR1
 +
        INC H
 +
        JR USEBAR0
 +
USEBok  LD B,0
 +
        EXA
 +
        LD C,A
 +
        OR A
 +
        RET Z
 +
        SUB 9
 +
        JC USEBARQ
 +
        LD B,H,A,H
 +
        ADD A,7
 +
        CP C
 +
        JC $+6
 +
        LD A,C
 +
        SUB 8
 +
        LD B,A
 +
USEBARQ LD A,B,(cattop),A
 +
        JP PRCAT
 +
AUDATER
 +
        LD C,#7F
 +
        LD DE,AUTO2
 +
        LD A,(DE)
 +
        CP C
 +
        JZ AUDnS
 +
        AND #80
 +
        LD B,A
 +
        LD A,(HL)
 +
        AND C
 +
        OR B
 +
        LD (HL),A
 +
        INC HL,HL,HL
 +
        LD A,(DE)
 +
        AND #7F
 +
        RRCA
 +
        RRCA
 +
        RRCA
 +
        RRCA
 +
        LD B,A
 +
        LD A,(HL)
 +
        AND #F
 +
        OR B
 +
        LD (HL),A
 +
        JR $+5
 +
AUDnS  INC HL,HL,HL
 +
        INC DE
 +
        LD A,(DE)
 +
        CP C
 +
        JZ AUDnT
 +
        LD B,A
 +
        LD A,(HL)
 +
        AND #F0
 +
        OR B
 +
        LD (HL),A
 +
AUDnT  INC DE,HL
 +
        LD A,(DE)
 +
        CP C
 +
        JZ AUDnO
 +
        RRCA
 +
        RRCA
 +
        RRCA
 +
        RRCA
 +
        LD B,A
 +
        LD A,(HL)
 +
        AND #F
 +
        OR B
 +
        LD (HL),A
 +
AUDnO  INC DE
 +
        LD A,(DE)
 +
        CP C
 +
        RET Z
 +
        LD B,A
 +
        LD A,(HL)
 +
        AND #F0
 +
        OR B
 +
        LD (HL),A
 +
        RET
 +
AENVER
 +
        CP E
 +
        JZ AEnres
 +
        LD HL,ead
 +
        RES 7,(HL)
 +
        INC L
 +
        RES 7,(HL)
 +
AEnres
 +
AENVFRQ=$+1
 +
        LD HL,0
 +
AENVnot=$+1
 
         LD DE,0
 
         LD DE,0
        LD BC,#480
+
        INC HL,HL,HL
        LDIR
+
        LD A,(HL)
        JP PRPATU
+
         AND 9
EXCHANG
+
         SUB 8
        CALL FROMSZ
+
        RET NZ
        PUSH AF
+
         OR E
        LD A,(pat1)
 
        LD B,A
 
        CALL GETnADR
 
        PUSH HL
 
        POP IX
 
        CALL CHN1PP
 
        ADD HL,BC
 
        LD A,(chn2)
 
        LD C,3
 
        DEC A
 
        JZ EXCHX2
 
        LD C,8
 
        DEC A
 
        JZ $+4
 
        LD C,13
 
EXCHX2  ADD IX,BC
 
        POP AF
 
EXCH0  EXA
 
        PUSH HL
 
        LD DE,BUF
 
        LD BC,5
 
        LDIR
 
        POP DE
 
        PUSH DE,IX
 
        POP HL
 
        LD C,5
 
        LDIR
 
        LD HL,BUF
 
        PUSH IX
 
        POP DE
 
        LD C,5
 
        LDIR
 
        POP HL
 
        LD C,18
 
        ADD HL,BC
 
        ADD IX,BC
 
        EXA
 
        DEC A
 
        JNZ EXCH0
 
        JP PRPATO
 
CATBAR
 
        LD HL,#48B5
 
        XOR A
 
        LD (CATBf),A
 
        LD B,A,C,A
 
        LD E,#81
 
        LD A,(catH)
 
        OR A
 
        JNZ CATBNZ
 
        INC A
 
        LD D,A
 
        JR CATBARP
 
CATBNZ  ADD A,A
 
        DEC A
 
        LD D,A
 
        LD A,(cattop)
 
         OR A
 
        CALL NZ,CATBARP
 
        LD E,#BD
 
        LD A,(catH)
 
        CP 9
 
         JC CATBARP
 
        LD A,8
 
        CALL CATBARP
 
         LD A,(catH)
 
cattop=$+1
 
      SUB 0
 
      SUB 8
 
        LD E,#81
 
 
         RET Z
 
         RET Z
CATBARP EXA
+
div=$+1
CATBf=$+1
+
        LD B,0
CATBAR0 LD A,0
+
        LD A,23
        XOR -1
+
        DJNZ $+4
        LD (CATBf),A
+
        LD A,28  ;3:4
        JZ $+6
+
        DJNZ $+4
        LD (HL),E
+
        LD A,35  ;1:2
        CALL DHL
+
        DJNZ $+4
        SCF
+
        LD A,47  ;1:4
        LD A,C
+
        DJNZ $+4
        ADC A,D
+
        LD A,4  ;3:1
        LD C,A
+
        DJNZ $+4
        JNC CATBAR0
+
        LD A,7  ;5:2
        EXA
+
        DJNZ $+4
        DEC A
+
        LD A,11  ;2:1
        JNZ CATBARP
+
        DJNZ $+4
        RET
+
        LD A,16  ;3:2
USEBAR
+
        ADD A,E
        LD A,(catH)
+
        LD B,0
      CP 9
+
        INC B
        RET C
+
        SUB 12
        EXA
+
        JNC $-3
        CALL FIRE
+
        LD E,A
        RET Z
+
;00,01->+0
        LD A,(ARX)
+
;10,11->+1
        SUB #A8
+
        LD HL,FrTab+24-512
        CP 8
+
        ADD HL,DE,HL,DE
        RET NC
+
        LD A,(HL)
        LD A,(ARXY)
+
        INC L
        SUB #68
+
        LD E,(HL)
        CP #40
+
        SRL E
        RET NC
+
        RRA
        LD L,A
+
        DJNZ $-3
        XOR A
+
        ADC A,D
        LD (USEBf),A
+
        LD D,A
        LD E,A,C,A,H,A
+
AENVadr=$+2
        LD A,(catH)
+
        LD (0),DE
        ADD A,A
+
        RET
        DEC A
+
EPdelln
        LD D,A
+
        CALL XPPSCF
USEBAR0 LD A,E
+
        RET NC
        CP L
+
        LD HL,(CURY),H,L
        JNC USEBok
+
        INC L
USEBf=$+1
+
        LD A,201,(COPQJP),A
USEBAR1 LD A,0
+
        CALL EPdellnP
        XOR -1
+
        LD A,195,(COPQJP),A
        LD (USEBf),A
+
        CALL PRPATU
        JZ $+3
+
        JR TSTNROL
        INC E
+
TSTnSSL
        SCF
+
        LD A,(ead)
         LD A,C
+
        RLA
        ADC A,D
+
        JC AEskip
         LD C,A
+
        LD A,(HL)
        JNC USEBAR1
+
        AND #80
        INC H
+
        OR D
        JR USEBAR0
+
        LD (HL),A
USEBok LD B,0
+
AEskip
        EXA
+
         LD A,D
        LD C,A
+
TSTSSLQ
        OR A
+
         LD (AENVnot),A
        RET Z
+
        INC E
        SUB 9
+
        JZ TSTNQ
        JC USEBARQ
+
  auto=$+1
        LD B,H,A,H
+
        LD A,-1
        ADD A,7
+
        OR A
        CP C
+
        CALL Z,AUDATER
        JC $+6
+
        LD A,(ead)
        LD A,C
+
        RLA
        SUB 8
+
        SBC A,A
         LD B,A
+
        CPL
USEBARQ LD A,B,(cattop),A
+
aenv=$+1
         JP PRCAT
+
        LD E,-1
AUDATER
+
        AND E
        LD C,#7F
+
        CALL Z,AENVER
        LD DE,AUTO2
+
TSTNQ  CALL PRCU7
        LD A,(DE)
+
         ;LD A,(EPAT),B,A
        CP C
+
        ;LD A,(CURY),E,#13
        JZ AUDnS
+
         ;CALL STROKA
        AND #80
+
        CALL PRPATUU
        LD B,A
+
        LD A,(23560)
 +
        CP kL
 +
        JZ $+4
 +
        CP kssL
 +
        CALL NZ,PLNOTE
 +
TSTNROL LD A,(roll)
 +
        OR A
 +
        LD L,A ;на сколько строк вниз
 +
        JP NZ,ROLLPATFON
 +
        LD HL,CURX
 
         LD A,(HL)
 
         LD A,(HL)
        AND C
+
         CP 3
        OR B
 
        LD (HL),A
 
        INC HL,HL,HL
 
        LD A,(DE)
 
        AND #7F
 
        RRCA
 
        RRCA
 
        RRCA
 
        RRCA
 
        LD B,A
 
        LD A,(HL)
 
        AND #F
 
        OR B
 
        LD (HL),A
 
        JR $+5
 
AUDnS  INC HL,HL,HL
 
        INC DE
 
        LD A,(DE)
 
         CP C
 
        JZ AUDnT
 
        LD B,A
 
        LD A,(HL)
 
        AND #F0
 
        OR B
 
        LD (HL),A
 
AUDnT  INC DE,HL
 
        LD A,(DE)
 
        CP C
 
        JZ AUDnO
 
        RRCA
 
        RRCA
 
        RRCA
 
        RRCA
 
        LD B,A
 
        LD A,(HL)
 
        AND #F
 
        OR B
 
        LD (HL),A
 
AUDnO  INC DE
 
        LD A,(DE)
 
        CP C
 
 
         RET Z
 
         RET Z
        LD B,A
+
         CP 5
        LD A,(HL)
 
        AND #F0
 
        OR B
 
        LD (HL),A
 
        RET
 
AENVER
 
         CP E
 
        JZ AEnres
 
        LD HL,ead
 
        RES 7,(HL)
 
        INC L
 
        RES 7,(HL)
 
AEnres
 
AENVFRQ=$+1
 
        LD HL,0
 
AENVnot=$+1
 
      LD DE,0
 
        INC HL,HL,HL
 
        LD A,(HL)
 
      AND 9
 
      SUB 8
 
        RET NZ
 
      OR E
 
      RET Z
 
div=$+1
 
        LD B,0
 
        LD A,23
 
        DJNZ $+4
 
        LD A,28  ;3:4
 
        DJNZ $+4
 
        LD A,35  ;1:2
 
        DJNZ $+4
 
        LD A,47  ;1:4
 
        DJNZ $+4
 
        LD A,4  ;3:1
 
        DJNZ $+4
 
        LD A,7  ;5:2
 
        DJNZ $+4
 
        LD A,11  ;2:1
 
        DJNZ $+4
 
        LD A,16  ;3:2
 
        ADD A,E
 
        LD B,0
 
        INC B
 
        SUB 12
 
        JNC $-3
 
        LD E,A
 
;00,01->+0
 
;10,11->+1
 
        LD HL,FrTab+24-512
 
        ADD HL,DE,HL,DE
 
        LD A,(HL)
 
        INC L
 
        LD E,(HL)
 
        SRL E
 
        RRA
 
        DJNZ $-3
 
        ADC A,D
 
        LD D,A
 
AENVadr=$+2
 
        LD (0),DE
 
        RET
 
EPdelln
 
        CALL XPPSCF
 
 
         RET NC
 
         RET NC
         LD HL,(CURY),H,L
+
         ;LD A,2;(curite)
         INC L
+
        ;CP (HL)
        LD A,201,(COPQJP),A
+
         ;RET C
        CALL EPdellnP
+
        INC (HL)
        LD A,195,(COPQJP),A
+
        RET
        CALL PRPATU
+
TSTNnot
        JR TSTNROL
+
        LD (AENVadr),HL
TSTnSSL
+
        XOR A
        LD A,(ead)
+
        LD B,A
        RLA
+
        ADD HL,BC
         JC AEskip
+
        LD (AENVFRQ),HL
 +
        LD E,-1
 +
        OR D
 +
        JZ TSTnNOT
 +
        CP 97
 +
        JNC TSTnNOT
 +
        INC E
 +
         CP 25
 
         LD A,(HL)
 
         LD A,(HL)
         AND #80
+
         RES 7,A
         OR D
+
        JZ TSTSSLQ
        LD (HL),A
+
        CALL NotOct
AEskip
+
TSTnNOT
      LD A,D
+
         ;LD A,D
TSTSSLQ
+
        SUB 99
      LD (AENVnot),A
+
        JZ TSTk
        INC E
+
        INC A
        JZ TSTNQ
+
        JP NZ,TSTnSSL
auto=$+1
+
        LD (HL),A
        LD A,-1
+
        INC HL
        OR A
+
        LD (HL),A
        CALL Z,AUDATER
+
        INC HL
        LD A,(ead)
+
        LD (HL),A
        RLA
+
TSTk    INC HL
        SBC A,A
+
        LD (HL),A
        CPL
+
        INC HL
aenv=$+1
+
        LD (HL),A
        LD E,-1
+
        LD (IY-50),kssL
        AND E
+
        JP TSTSSLQ
        CALL Z,AENVER
+
EPdellnP
TSTNQ  CALL PRCU7
+
        LD A,64
      ;LD A,(EPAT),B,A
+
        SUB H
      ;LD A,(CURY),E,#13
+
        LD DE,(EPAT),D,A,A,E
      ;CALL STROKA
+
        DEC BC
      CALL PRPATUU
+
        LD B,C
        LD A,(23560)
+
        RET Z
        CP kL
+
        JP COPYU
        JZ $+4
+
EPins
         CP kssL
+
        CALL XPPSCF
        CALL NZ,PLNOTE
+
        RET NC
TSTNROL LD A,(roll)
+
        LD HL,(CURY),H,L
 +
        INC H
 +
        CALL EPdellnP
 +
         LD A,(chnall)
 
         OR A
 
         OR A
        LD L,A ;на сколько строк вниз
+
         JZ insNALL
        JP NZ,ROLLPATFON
 
        LD HL,CURX
 
      LD A,(HL)
 
      CP 3
 
      RET Z
 
      CP 5
 
      RET NC
 
      ;LD A,2;(curite)
 
      ;CP (HL)
 
      ;RET C
 
        INC (HL)
 
        RET
 
TSTNnot
 
        LD (AENVadr),HL
 
        XOR A
 
        LD B,A
 
        ADD HL,BC
 
        LD (AENVFRQ),HL
 
        LD E,-1
 
        OR D
 
         JZ TSTnNOT
 
        CP 97
 
        JNC TSTnNOT
 
        INC E
 
      CP 25
 
      LD A,(HL)
 
      RES 7,A
 
      JZ TSTSSLQ
 
        CALL NotOct
 
TSTnNOT
 
      ;LD A,D
 
        SUB 99
 
        JZ TSTk
 
        INC A
 
        JP NZ,TSTnSSL
 
        LD (HL),A
 
        INC HL
 
        LD (HL),A
 
        INC HL
 
        LD (HL),A
 
TSTk    INC HL
 
        LD (HL),A
 
        INC HL
 
        LD (HL),A
 
        LD (IY-50),kssL
 
        JP TSTSSLQ
 
EPdellnP
 
        LD A,64
 
        SUB H
 
        LD DE,(EPAT),D,A,A,E
 
        DEC BC
 
        LD B,C
 
        RET Z
 
        JP COPYU
 
EPins
 
        CALL XPPSCF
 
        RET NC
 
        LD HL,(CURY),H,L
 
        INC H
 
        CALL EPdellnP
 
      LD A,(chnall)
 
      OR A
 
      JZ insNALL
 
      LD BC,(CURY)
 
      CALL GETnADR
 
      EXD
 
      LD HL,BUF+#480 ;тут нули
 
      LD BC,18
 
      LDIR
 
insNALL HALT
 
        LD (IY-50),kssL
 
TSTNOTE
 
 
         LD BC,(CURY)
 
         LD BC,(CURY)
 
         CALL GETnADR
 
         CALL GETnADR
         CALL NOTEKEY
+
         EXD
        BIT 7,D
+
        LD HL,BUF+#480 ;тут нули
        CALL Z,XPPSCF
+
        LD BC,18
        DEC BC
+
        LDIR
        JZ TSTNnot
+
insNALL HALT
      LD A,D
+
        LD (IY-50),kssL
      CP 98
+
TSTNOTE
      JZ $-5
+
        LD BC,(CURY)
        CALL RECHEX
+
        CALL GETnADR
        INC D
+
        CALL NOTEKEY
        JNZ TSTnDIG
+
        BIT 7,D
        LD C,D,B,D,D,A
+
        CALL Z,XPPSCF
        LD A,(CURX)
+
        DEC BC
        OR A
+
        JZ TSTNnot
        CALL TSTnPP+2
+
        LD A,D
        CALL TSTnP
+
        CP 98
        LD C,6
+
        JZ $-5
        CALL TSTnPP
+
        CALL RECHEX
        LD C,4
+
        INC D
        CALL TSTnPP+1
+
        JNZ TSTnDIG
        LD C,11
+
        LD C,D,B,D,D,A
        CALL TSTnPP
+
        LD A,(CURX)
        LD C,9
+
        OR A
        CALL TSTnPP+1
+
        CALL TSTnPP+2
        LD C,16
+
        CALL TSTnP
        CALL TSTnPP
+
        LD C,6
        LD C,14
+
        CALL TSTnPP
        CALL TSTnPP+1
+
        LD C,4
TSTnDIG
+
        CALL TSTnPP+1
      LD A,D
+
        LD C,11
      CP 9
+
        CALL TSTnPP
      JZ EVENODD
+
        LD C,9
        CALL RECopq
+
        CALL TSTnPP+1
        INC D
+
        LD C,16
        RET NZ
+
        CALL TSTnPP
        LD D,A
+
        LD C,14
        OR A
+
        CALL TSTnPP+1
        CALL XPP
+
TSTnDIG
        RET NZ
 
        INC C,C
 
        LD B,0
 
        ADD HL,BC
 
      LD A,(HL)
 
      LD (HL),D
 
      RLD
 
        SCF
 
        JR TSTs0
 
EVENODD
 
        LD HL,COPSCF
 
        LD A,(HL)
 
        XOR 128
 
        LD (HL),A
 
        LD HL,#485A
 
        LD C,2
 
        CALL INVSYMS
 
        POP AF
 
        RET
 
;2(EDSONG,EPEXT)
 
MELINV
 
        LD HL,#40EA
 
        LD C,6
 
INVSYMS
 
        PUSH HL
 
        LD B,8
 
invsym0 LD A,(HL)
 
        CPL
 
        LD (HL),A
 
        INC H
 
        DJNZ invsym0
 
        POP HL
 
        INC L
 
        DEC C
 
        JR NZ,INVSYMS
 
        RET
 
TSTL
 
        POP AF
 
        ADD HL,BC
 
      LD A,(HL)
 
      LD (HL),D
 
      RLD
 
      OR A
 
        CALL XPP
 
        JZ TSTs0-1
 
      CP -7
 
      JNZ tstnq
 
      LD A,(CURX)
 
      OR A
 
      JZ tstnq
 
 
         LD A,D
 
         LD A,D
         OR A
+
         CP 9
         JZ tstnq
+
         JZ EVENODD
      PUSH AF
+
        CALL RECopq
      LD A,(ORN)
+
        INC D
      LD (ORN2),A
+
        RET NZ
      XOR A
+
        LD D,A
      CALL ONCORN2
+
        OR A
      POP AF
+
        CALL XPP
        LD (ORN),A
+
        RET NZ
        XOR A
+
        INC C,C
        CALL ONCORN
+
        LD B,0
tstnq  JP TSTNQ
+
        ADD HL,BC
        OR A
 
TSTs0  DEC HL,HL,HL
 
        RL (HL)
 
        RRC (HL)
 
 
         LD A,(HL)
 
         LD A,(HL)
         RRA
+
         LD (HL),D
         RRA
+
         RLD
        RRA
+
        SCF
        AND 16
+
        JR TSTs0
        OR D
+
EVENODD
        JZ tstnq
+
        LD HL,COPSCF
      PUSH AF
+
        LD A,(HL)
      LD A,(smp)
+
        XOR 128
      LD (SMP2),A
+
        LD (HL),A
      XOR A
+
        LD HL,#485A
      CALL ONCSMP2
+
        LD C,2
      POP AF
+
        CALL INVSYMS
        LD (smp),A
+
        POP AF
        XOR A
+
        RET
        CALL ONCSMP
+
;2(EDSONG,EPEXT)
        JP tstnq
+
MELINV
TSTnPP
+
        LD HL,#40EA
        DEC A,A
+
        LD C,6
        JZ TSTL
+
INVSYMS
        DEC A
+
        PUSH HL
        JZ TSTR
+
        LD B,8
TSTnP  INC BC
+
invsym0 LD A,(HL)
        DEC A
+
        CPL
        JZ TSTL
+
        LD (HL),A
        DEC A
+
        INC H
        RET NZ
+
        DJNZ invsym0
TSTR    POP AF
+
        POP HL
        ADD HL,BC
+
        INC L
 +
        DEC C
 +
        JR NZ,INVSYMS
 +
        RET
 +
TSTL
 +
        POP AF
 +
        ADD HL,BC
 
         LD A,(HL)
 
         LD A,(HL)
        AND #F0
+
         LD (HL),D
        OR D
+
         RLD
         LD (HL),A
 
        JP TSTNQ
 
RECopq
 
        LD DE,"O
 
        LD A,(23560)
 
        CP ";
 
        JZ RECopY
 
        CP E
 
        RET Z
 
        INC E
 
        CP #22
 
        JZ RECopY
 
        CP E
 
        RET Z
 
        CP "G
 
        RET C
 
        CP "W
 
        RET NC
 
        LD E,A
 
        XOR "Q
 
        CALL Z,8026
 
        RET C
 
RECopY  LD A,E
 
        SUB "G
 
        DEC D
 
         RET
 
RECHEX
 
        LD D,0
 
        LD A,(23560)
 
        CP "0
 
        RET C
 
        CP "G
 
        RET NC
 
        CP ":
 
        JNC $+6
 
        SUB "0
 
        DEC D
 
        RET
 
        CP "A
 
        RET C
 
        SUB #37
 
        DEC D
 
        RET
 
D0TO_
 
        LD A,(HL)
 
        CP "0
 
        JC d0TO0
 
        CP ":
 
        JNC $+5
 
        SUB "0
 
        RET
 
        CP "A
 
        JC d0TO0
 
        CP "G
 
        JNC $+5
 
        SUB #37
 
        RET
 
d0TO0  LD (HL),"-
 
        LD A,#7F
 
        RET
 
ENVFL
 
        LD HL,ead,A,(HL)
 
        XOR 128
 
        LD (HL),A
 
        INC L
 
        LD (HL),A
 
        RET
 
TSTOCT
 
        LD A,(23560)
 
        CP kE
 
        JZ ENVFL
 
        SUB "1
 
        CP 9
 
        RET NC
 
      ;CALL NEWOCT
 
      ;JP SHOLK
 
;NEWOCT
 
        AND 7
 
        INC A
 
        LD (OCT),A
 
;1
 
PROCT  LD DE,#D08
 
        JP PRBCD
 
POSEDIT
 
        LD BC,mPOS
 
        CALL WINDUM
 
        LD HL,tPOS
 
        LD DE,0
 
        CALL PRMENU
 
        XOR A
 
        LD (EpMflag),A
 
        LD (EpY),A
 
        LD A,(POS)
 
        CALL EDPOSR
 
POSED0
 
      CALL RESHALT
 
        LD A,#28
 
        CALL EpPRCUR
 
        CALL EDPOSKY
 
        LD A,5
 
        CALL EpPRCUR
 
        CALL EpCHMRK
 
        CALL EpPRMRK
 
        CALL TSTFIRE
 
        JNC POSED0
 
        LD A,(EsTOP),B,A
 
        LD A,(EpY)
 
        ADD A,B
 
        LD (POS),A
 
        LD L,A,H,'TPOSS
 
        LD A,(HL),(EPAT),A
 
        LD L,A
 
        INC H
 
        LD A,(HL),(PATLEN),A
 
        CALL CLOSWIN
 
        CALL POSFON
 
        JP PRPAT
 
EpPRMRK
 
        LD HL,#58C3
 
        LD BC,(LOOP)
 
        LD DE,32
 
        LD A,(EsTOP)
 
        EXA
 
        LD A,16
 
EpPRMR0 EXA
 
        CP C
 
        JNC EpPRMR1+1
 
EpPRMRQ LD (HL),#28
 
        INC A
 
        EXA
 
        ADD HL,DE
 
        DEC A
 
        JNZ EpPRMR0
 
        RET
 
EpPRMR1 EXA
 
        CP B
 
        JNC EpPRMRQ
 
        LD (HL),#55
 
        INC A
 
        EXA
 
        ADD HL,DE
 
        DEC A
 
        JNZ EpPRMR1
 
        RET
 
EpCHMRK
 
        LD A,(EpMflag)
 
 
         OR A
 
         OR A
         CALL NZ,EpCHEND
+
        CALL XPP
         LD A,(NOPKA)
+
        JZ TSTs0-1
 +
         CP -7
 +
        JNZ tstnq
 +
         LD A,(CURX)
 
         OR A
 
         OR A
         RET Z
+
         JZ tstnq
 +
        LD A,D
 +
        OR A
 +
        JZ tstnq
 +
        PUSH AF
 +
        LD A,(ORN)
 +
        LD (ORN2),A
 
         XOR A
 
         XOR A
EpMflag=$+1
+
         CALL ONCORN2
        CP 0
+
         POP AF
        JNZ EpCHMRQ
+
        LD (ORN),A
         CALL EpARPOS
+
        XOR A
         RET C
+
        CALL ONCORN
        LD (LOOP),A
+
tstnq  JP TSTNQ
        CPL
+
        OR A
EpCHMRQ LD (EpMflag),A
+
TSTs0  DEC HL,HL,HL
        RET
+
        RL (HL)
EpCHEND CALL EpARPOS
+
        RRC (HL)
        RET C
+
        LD A,(HL)
        LD HL,LOOP
+
        RRA
        CP (HL)
+
        RRA
        JNC $+3
+
        RRA
        LD A,(HL)
+
        AND 16
        INC A,HL
+
        OR D
        LD (HL),A
+
        JZ tstnq
        RET
+
         PUSH AF
;1
+
         LD A,(smp)
EsCHMRK
+
         LD (SMP2),A
        LD A,(EsMflag)
 
        OR A
 
         CALL NZ,esCHEND
 
         LD A,(NOPKA)
 
         OR A
 
        RET Z
 
 
         XOR A
 
         XOR A
EsMflag=$+1
+
        CALL ONCSMP2
        CP 0
+
        POP AF
        JNZ esCHMRQ
+
        LD (smp),A
        CALL EsARPOS
+
        XOR A
        RET C
+
        CALL ONCSMP
        LD (EsLOOP),A
+
        JP tstnq
        CPL  
+
TSTnPP
esCHMRQ LD (EsMflag),A
+
        DEC A,A
        RET  
+
        JZ TSTL
esCHEND
+
        DEC A
        CALL EsARPOS
+
        JZ TSTR
        RET C
+
TSTnP  INC BC
      LD HL,EsLOOP
+
        DEC A
      SUB (HL)
+
        JZ TSTL
        RET C
+
        DEC A
        INC A
+
        RET NZ
        LD (EsLEN),A
+
TSTR    POP AF
        RET  
+
        ADD HL,BC
;1
+
        LD A,(HL)
EoCHMRK
+
        AND #F0
        LD A,(EoMflag)
+
        OR D
        OR A
+
        LD (HL),A
        CALL NZ,eoCHEND
+
        JP TSTNQ
        LD A,(NOPKA)
+
RECopq
        OR A
+
        LD DE,"O
        RET Z
+
        LD A,(23560)
        XOR A
+
        CP ";
EoMflag=$+1
+
        JZ RECopY
        CP 0
+
        CP E
        JNZ eoCHMRQ
+
        RET Z
        CALL EoARLOP
+
        INC E
        RET C
+
        CP #22
        LD (EoLOOP),A
+
        JZ RECopY
        CPL  
+
        CP E
eoCHMRQ LD (EoMflag),A
+
        RET Z
        RET  
+
        CP "G
eoCHEND CALL EoARLOP
+
        RET C
        RET C
+
        CP "W
         LD HL,EoLOOP
+
        RET NC
 +
        LD E,A
 +
        XOR "Q
 +
        CALL Z,8026
 +
        RET C
 +
RECopY  LD A,E
 +
        SUB "G
 +
        DEC D
 +
        RET
 +
RECHEX
 +
        LD D,0
 +
        LD A,(23560)
 +
        CP "0
 +
        RET C
 +
        CP "G
 +
        RET NC
 +
        CP ":
 +
        JNC $+6
 +
        SUB "0
 +
        DEC D
 +
        RET
 +
        CP "A
 +
        RET C
 +
        SUB #37
 +
        DEC D
 +
        RET
 +
D0TO_
 +
        LD A,(HL)
 +
        CP "0
 +
        JC d0TO0
 +
        CP ":
 +
        JNC $+5
 +
        SUB "0
 +
        RET
 +
        CP "A
 +
        JC d0TO0
 +
        CP "G
 +
        JNC $+5
 +
        SUB #37
 +
        RET
 +
d0TO0  LD (HL),"-
 +
        LD A,#7F
 +
        RET
 +
ENVFL
 +
        LD HL,ead,A,(HL)
 +
        XOR 128
 +
        LD (HL),A
 +
        INC L
 +
        LD (HL),A
 +
        RET
 +
TSTOCT
 +
        LD A,(23560)
 +
        CP kE
 +
        JZ ENVFL
 +
        SUB "1
 +
        CP 9
 +
        RET NC
 +
        ;CALL NEWOCT
 +
        ;JP SHOLK
 +
;NEWOCT
 +
        AND 7
 +
        INC A
 +
        LD (OCT),A
 +
;1
 +
PROCT  LD DE,#D08
 +
        JP PRBCD
 +
POSEDIT
 +
        LD BC,mPOS
 +
        CALL WINDUM
 +
        LD HL,tPOS
 +
        LD DE,0
 +
        CALL PRMENU
 +
        XOR A
 +
        LD (EpMflag),A
 +
        LD (EpY),A
 +
        LD A,(POS)
 +
        CALL EDPOSR
 +
POSED0
 +
        CALL RESHALT
 +
        LD A,#28
 +
        CALL EpPRCUR
 +
        CALL EDPOSKY
 +
        LD A,5
 +
        CALL EpPRCUR
 +
        CALL EpCHMRK
 +
        CALL EpPRMRK
 +
        CALL TSTFIRE
 +
        JNC POSED0
 +
        LD A,(EsTOP),B,A
 +
        LD A,(EpY)
 +
        ADD A,B
 +
        LD (POS),A
 +
        LD L,A,H,'TPOSS
 +
        LD A,(HL),(EPAT),A
 +
        LD L,A
 +
        INC H
 +
        LD A,(HL),(PATLEN),A
 +
        CALL CLOSWIN
 +
        CALL POSFON
 +
        JP PRPAT
 +
EpPRMRK
 +
        LD HL,#58C3
 +
        LD BC,(LOOP)
 +
        LD DE,32
 +
        LD A,(EsTOP)
 +
        EXA
 +
        LD A,16
 +
EpPRMR0 EXA
 +
        CP C
 +
        JNC EpPRMR1+1
 +
EpPRMRQ LD (HL),#28
 +
        INC A
 +
        EXA
 +
        ADD HL,DE
 +
        DEC A
 +
        JNZ EpPRMR0
 +
        RET
 +
EpPRMR1 EXA
 +
        CP B
 +
        JNC EpPRMRQ
 +
        LD (HL),#55
 +
        INC A
 +
        EXA
 +
        ADD HL,DE
 +
        DEC A
 +
        JNZ EpPRMR1
 +
        RET
 +
EpCHMRK
 +
        LD A,(EpMflag)
 +
        OR A
 +
        CALL NZ,EpCHEND
 +
        LD A,(NOPKA)
 +
        OR A
 +
        RET Z
 +
        XOR A
 +
EpMflag=$+1
 +
        CP 0
 +
        JNZ EpCHMRQ
 +
        CALL EpARPOS
 +
        RET C
 +
        LD (LOOP),A
 +
        CPL  
 +
EpCHMRQ LD (EpMflag),A
 +
        RET  
 +
EpCHEND CALL EpARPOS
 +
        RET C
 +
        LD HL,LOOP
 +
        CP (HL)
 +
        JNC $+3
 +
        LD A,(HL)
 +
        INC A,HL
 +
        LD (HL),A
 +
        RET  
 +
;1
 +
EsCHMRK
 +
        LD A,(EsMflag)
 +
        OR A
 +
        CALL NZ,esCHEND
 +
        LD A,(NOPKA)
 +
        OR A
 +
        RET Z
 +
        XOR A
 +
EsMflag=$+1
 +
        CP 0
 +
        JNZ esCHMRQ
 +
        CALL EsARPOS
 +
        RET C
 +
        LD (EsLOOP),A
 +
        CPL  
 +
esCHMRQ LD (EsMflag),A
 +
        RET  
 +
esCHEND
 +
        CALL EsARPOS
 +
        RET C
 +
         LD HL,EsLOOP
 
         SUB (HL)
 
         SUB (HL)
        RET C
+
        RET C
        INC A
+
        INC A
        LD (EoLPlen),A
+
        LD (EsLEN),A
        RET  
+
        RET
EpARPOS
+
;1
        LD BC,#610
+
EoCHMRK
        LD L,3
+
        LD A,(EoMflag)
        JR psARPOS
+
        OR A
EsARPOS
+
        CALL NZ,eoCHEND
        LD BC,SMPY+1<8+SMPH
+
        LD A,(NOPKA)
        LD L,1+SMPX
+
        OR A
psARPOS LD A,(ARXY)
+
        RET Z
        RRA  
+
        XOR A
        RRA  
+
EoMflag=$+1
        RRA  
+
        CP 0
        AND 31
+
        JNZ eoCHMRQ
        SUB B
+
        CALL EoARLOP
        CP C
+
        RET C
        CCF  
+
        LD (EoLOOP),A
        RET C
+
        CPL
        LD C,A
+
eoCHMRQ LD (EoMflag),A
        LD A,(ARX)
+
        RET
        RRA  
+
eoCHEND CALL EoARLOP
        RRA  
+
        RET C
        RRA  
+
        LD HL,EoLOOP
        AND 31
+
        SUB (HL)
        CP L
+
        RET C
        JNZ SCFRET
+
        INC A
        LD A,(EsTOP)
+
        LD (EoLPlen),A
        ADD A,C
+
        RET  
        RET  
+
EpARPOS
EoARLOP
+
        LD BC,#610
        LD A,1
+
        LD L,3
EoARPOS
+
        JR psARPOS
        LD E,A
+
EsARPOS
        LD HL,(ARXY)
+
        LD BC,SMPY+1<8+SMPH
        LD A,L
+
        LD L,1+SMPX
        RRA  
+
psARPOS LD A,(ARXY)
        RRA  
+
        RRA  
        RRA  
+
        RRA  
        AND 31
+
        RRA  
        SUB 3
+
        AND 31
        RET C
+
        SUB B
        CP 16
+
        CP C
        CCF  
+
        CCF  
        RET C
+
        RET C
        LD D,A
+
        LD C,A
        LD A,H
+
        LD A,(ARX)
        RRA  
+
        RRA  
        RRA  
+
        RRA  
        RRA  
+
        RRA  
        AND 31
+
        AND 31
        LD BC,#400
+
        CP L
EoARp0  CP E
+
        JNZ SCFRET
        JZ EoARpQ
+
        LD A,(EsTOP)
        SUB 4
+
        ADD A,C
        INC C
+
        RET  
        DJNZ EoARp0
+
EoARLOP
SCFRET  SCF  
+
        LD A,1
        RET  
+
EoARPOS
EoARpQ  LD A,C
+
        LD E,A
        ADD A,A,A,A,A,A,A,A,A,D
+
        LD HL,(ARXY)
        RET  
+
        LD A,L
decCOR
+
        RRA  
        LD A,(DE)
+
        RRA  
        CP L
+
        RRA  
        RET C
+
        AND 31
        DEC A
+
        SUB 3
        LD (DE),A
+
        RET C
        RET  
+
        CP 16
incCOR
+
        CCF  
        LD A,(DE)
+
        RET C
        CP L
+
        LD D,A
        RET C
+
        LD A,H
        RET Z
+
        RRA  
        INC A
+
        RRA  
        RET Z
+
        RRA  
        LD (DE),A
+
        AND 31
        RET  
+
        LD BC,#400
EDPOSB
+
EoARp0  CP E
        CALL EpGadr
+
        JZ EoARpQ
        LD (LOOP),A
+
        SUB 4
        RET  
+
        INC C
EDPOSE
+
        DJNZ EoARp0
        CALL EpGadr
+
SCFRET  SCF  
        LD (LENG),A
+
        RET  
        RET  
+
EoARpQ  LD A,C
EpPRCUR
+
        ADD A,A,A,A,A,A,A,A,A,D
        EXA  
+
        RET  
        LD A,(EpY)
+
decCOR
        ADD A,A,A,A,A,A,A,A
+
        LD A,(DE)
        LD L,A,H,0
+
        CP L
        ADD HL,HL
+
        RET C
        LD DE,#58C6
+
        DEC A
        ADD HL,DE
+
        LD (DE),A
        EXA  
+
        RET  
        LD (HL),A
+
incCOR
        INC L
+
        LD A,(DE)
        LD (HL),A
+
        CP L
        INC L
+
        RET C
        LD (HL),A
+
        RET Z
        RET  
+
        INC A
EpGadr
+
        RET Z
        LD A,H
+
        LD (DE),A
        ADD A,L
+
        RET  
        LD L,A
+
EDPOSB
        LD H,'TPOSS
+
        CALL EpGadr
        RET  
+
        LD (LOOP),A
EDPOSDQ
+
        RET  
        LD (EpY),A
+
EDPOSE
        JP SHOLK
+
        CALL EpGadr
EDPOSKY
+
        LD (LENG),A
        CALL BIT5
+
        RET  
        RET Z
+
EpPRCUR
        LD HL,(EsTOP)
+
        EXA  
EpY=$+1
+
        LD A,(EpY)
        LD H,0
+
        ADD A,A,A,A,A,A,A,A
        CALL RECHEX
+
        LD L,A,H,0
        INC D
+
        ADD HL,HL
        JZ EDpDIG
+
        LD DE,#58C6
        LD A,(23560)
+
        ADD HL,DE
        CP "K
+
        EXA  
        JZ EDPOSB
+
        LD (HL),A
        CP "L
+
        INC L
        JZ EDPOSE
+
        LD (HL),A
        SUB 8
+
        INC L
        JNZ EDPOSNL
+
        LD (HL),A
        LD A,L
+
        RET  
        SUB 15
+
EpGadr
        JNC $+3
+
        LD A,H
        XOR A
+
        ADD A,L
        JR EDPOSTO
+
        LD L,A
EDPOSNL DEC A
+
        LD H,'TPOSS
        JNZ EDPOSNR
+
        RET  
        LD A,L
+
EDPOSDQ
        ADD A,15
+
        LD (EpY),A
EDPOSR  CP -16
+
        JP SHOLK
 +
EDPOSKY
 +
        CALL BIT5
 +
        RET Z
 +
        LD HL,(EsTOP)
 +
EpY=$+1
 +
        LD H,0
 +
        CALL RECHEX
 +
        INC D
 +
        JZ EDpDIG
 +
        LD A,(23560)
 +
        CP "K
 +
        JZ EDPOSB
 +
        CP "L
 +
        JZ EDPOSE
 +
        SUB 8
 +
        JNZ EDPOSNL
 +
        LD A,L
 +
        SUB 15
 +
        JNC $+3
 +
        XOR A
 +
        JR EDPOSTO
 +
EDPOSNL DEC A
 +
        JNZ EDPOSNR
 +
        LD A,L
 +
        ADD A,15
 +
EDPOSR  CP -16
 +
        JC $+4
 +
        LD A,-16
 +
        JR EDPOSTO
 +
EDPOSNR DEC A
 +
        JNZ EDPOSND
 +
        LD A,H
 +
        INC A
 +
        AND 15
 +
        JNZ EDPOSDQ
 +
        LD A,L
 +
        INC A
 +
        CP -15
 +
        RET Z
 +
        JR EDPOSTO
 +
EDPOSND DEC A
 +
        JNZ EDPOSNU
 +
        LD A,H
 +
        DEC A
 +
        JP P,EDPOSDQ
 +
        LD A,L
 +
        SUB 1
 +
        RET C
 +
EDPOSTO LD (EsTOP),A
 +
        JR PRPOS
 +
EDPOSNU CP kDelLn-11
 +
        JNZ EDpNdelln
 +
        CALL EpGadr
 +
        LD D,H,E,L
 +
        INC L
 +
        RET Z
 +
        PUSH HL
 +
        LD A,(HL),(DE),A
 +
        INC E,L
 +
        JNZ $-4
 +
        POP HL
 +
        LD DE,LOOP
 +
        CALL decCOR
 +
        LD DE,LENG
 +
        CALL decCOR
 +
        JR PRPOS
 +
EDpDIG
 +
        LD D,A
 +
        CALL EpGadr
 +
        LD A,(HL)
 +
        LD B,4
 +
        ADD A,A
 +
        JC EpDIGo
 +
        DJNZ $-3
 +
        ADD A,D
 +
        CP PATS
 +
        JC $+3
 +
EpDIGo  LD A,D
 +
        LD (HL),A
 +
PRPOS
 +
        LD HL,(EsTOP),H,'TPOSS
 +
        LD A,16,DE,#41C3
 +
PRPOS0  PUSH AF,DE
 +
        LD A,L
 +
        PUSH HL
 +
        CALL PRF8
 +
        POP HL
 +
        INC E,E,E
 +
        LD A,(HL)
 +
        INC L
 +
        PUSH HL
 +
        CALL PRF8
 +
        POP HL,DE
 +
        LD A,D
 +
        ADD A,6
 +
        LD D,A
 +
        CALL DDE
 +
        INC D
 +
        POP AF
 +
        DEC A
 +
        JNZ PRPOS0
 +
        JP SHOLK
 +
EDpNdelln
 +
        CP 201-11
 +
        RET NZ
 +
        CALL EpGadr
 +
        XOR -1
 +
        RET Z
 +
        PUSH HL
 +
        LD C,A,B,0
 +
        LD DE,bf240
 +
        PUSH HL,DE
 +
        LDIR
 +
        LD C,A
 +
        POP HL,DE
 +
        INC E
 +
        LDIR
 +
        POP HL
 +
        LD DE,LOOP
 +
        CALL incCOR
 +
        LD DE,LENG
 +
        CALL incCOR
 +
        JR PRPOS
 +
EoGadr
 +
EoLIN=$+1
 +
        LD A,0
 +
ornADR=$+1
 +
        LD HL,EDORbf
 +
        ADD A,L
 +
        LD L,A
 +
        LD A,(HL)
 +
        RET
 +
EDOR_p
 +
        POP AF,HL
 +
        CALL ORNQU
 +
        CALL DECORN ;+print
 +
        JP EDORN
 +
EDOR_n
 +
        POP AF,HL
 +
        CALL ORNQU
 +
        CALL INCORN ;+print
 +
        JP EDORN
 +
EDORNKY
 +
        CALL BIT5
 +
        RET Z
 +
        LD B,1
 +
        CP 4
 +
        JZ EDOR_p
 +
        CP 5
 +
        JZ EDOR_n
 +
        CP 172;i
 +
        JZ EDORSMP
 +
        CP "E
 +
        JZ EDORNUM
 +
        LD B,-1
 +
        CP 197;u
 +
        JZ EDORSMP
 +
        CP "W
 +
        JZ EDORNUM
 +
        LD B,12
 +
        CP "T
 +
        JZ EDORNUM
 +
        LD B,-12
 +
        CP "R
 +
        JZ EDORNUM
 +
        CP "0
 +
        JZ EDOR0
 +
        CP kIns
 +
        JZ EDoINS
 +
        CP kDelLn
 +
        JP Z,EDoDELLN
 +
        CP "K
 +
        JP Z,EDoBEG
 +
        CP "L
 +
        JP Z,EDoEND
 +
        CP "+
 +
        JZ EDoPLU
 +
        SUB "0;1
 +
        CP 9;8
 +
        RET NC
 +
        LD (OCT),A
 +
EDORSq  CALL PRORNos
 +
        JP SHOLK
 +
EDoPLU  CALL EoGadr
 +
        JR EDORNEG
 +
EDORSMP
 +
        LD HL,EoSMP,A,(HL)
 +
        ADD A,B
 +
        AND 31
 +
        LD (HL),A
 +
        JR EDORSq
 +
EDORNUM
 +
        CALL EoGadr
 +
        ADD A,B
 +
        LD B,0
 +
        JP P,$+6
 +
        INC B
 +
        NEG
 +
        AND 127
 +
        CP 96
 
         JC $+4
 
         JC $+4
         LD A,-16
+
         LD A,96
        JR EDPOSTO
+
        DJNZ $+4
EDPOSNR DEC A
+
EDORNEG
        JNZ EDPOSND
+
        NEG
        LD A,H
+
        LD (HL),A
        INC A
+
        CALL ORNline
        AND 15
+
        JP SHOLK
        JNZ EDPOSDQ
+
EDOR0
        LD A,L
+
        CALL EoGadr
        INC A
+
        XOR A
        CP -15
+
        JR EDORNEG
        RET Z
+
EDoINS
        JR EDPOSTO
+
        CALL EoGadr
EDPOSND DEC A
+
        LD A,63
        JNZ EDPOSNU
+
        SUB L
        LD A,H
+
        RET Z
        DEC A
+
        LD L,62,E,63,D,H,B,0,C,A
        JP P,EDPOSDQ
+
        LDDR
        LD A,L
 
        SUB 1
 
        RET C
 
EDPOSTO LD (EsTOP),A
 
        JR PRPOS
 
EDPOSNU CP kDelLn-11
 
        JNZ EDpNdelln
 
        CALL EpGadr
 
        LD D,H,E,L
 
 
         INC L
 
         INC L
        RET Z
+
        LD DE,EoLOOP
        PUSH HL
+
        CALL incCOR
        LD A,(HL),(DE),A
+
         JZ $+4
        INC E,L
+
         JNC EDoz
        JNZ $-4
+
        EXD
        POP HL
+
        INC HL
        LD DE,LOOP
 
        CALL decCOR
 
        LD DE,LENG
 
        CALL decCOR
 
        JR PRPOS
 
EDpDIG
 
        LD D,A
 
        CALL EpGadr
 
        LD A,(HL)
 
        LD B,4
 
        ADD A,A
 
        JC EpDIGo
 
        DJNZ $-3
 
        ADD A,D
 
         CP PATS
 
        JC $+3
 
EpDIGo  LD A,D
 
        LD (HL),A
 
PRPOS
 
        LD HL,(EsTOP),H,'TPOSS
 
        LD A,16,DE,#41C3
 
PRPOS0  PUSH AF,DE
 
        LD A,L
 
        PUSH HL
 
         CALL PRF8
 
        POP HL
 
        INC E,E,E
 
        LD A,(HL)
 
        INC L
 
        PUSH HL
 
        CALL PRF8
 
        POP HL,DE
 
        LD A,D
 
        ADD A,6
 
        LD D,A
 
        CALL DDE
 
        INC D
 
        POP AF
 
 
         DEC A
 
         DEC A
        JNZ PRPOS0
+
        ADD A,(HL)
        JP SHOLK
+
        CP E
EDpNdelln
+
        JC EDoz
        CP 201-11
+
        CP 63
        RET NZ
+
        JNC $+3
        CALL EpGadr
+
EDoINSQ INC (HL)
        XOR -1
+
        JR EDoz
        RET Z
+
EDoDELLN
        PUSH HL
+
        CALL EoGadr
        LD C,A,B,0
+
        LD D,H,E,L
        LD DE,bf240
+
        INC L
        PUSH HL,DE
+
        LD A,64
        LDIR
+
        SUB L
        LD C,A
+
        RET Z
        POP HL,DE
+
        LD B,0,C,A,A,L
        INC E
+
        LDIR  
        LDIR  
+
        LD L,A
        POP HL
+
        LD DE,EoLOOP
        LD DE,LOOP
+
        CALL decCOR
        CALL incCOR
+
         JNC EDoz
        LD DE,LENG
+
        EXD
        CALL incCOR
+
        INC HL
         JR PRPOS
+
        ADD A,(HL)
EoGadr
+
        CP E
EoLIN=$+1
+
        JC EDoz
        LD A,0
+
        DEC (HL)
ornADR=$+1
+
        JZ EDoINSQ
        LD HL,EDORbf
+
EDoz
        ADD A,L
+
        CALL PRORN
        LD L,A
+
        JP SHOLK
        LD A,(HL)
+
EDoBEG
        RET
+
        LD A,(EoLIN)
EDOR_p
+
         LD HL,EoLOOP
        POP AF,HL
+
  EDoBEGQ LD C,(HL)
        CALL ORNQU
 
        CALL DECORN ;+print
 
        JP EDORN
 
EDOR_n
 
        POP AF,HL
 
        CALL ORNQU
 
        CALL INCORN ;+print
 
        JP EDORN
 
EDORNKY
 
        CALL BIT5
 
        RET Z
 
        LD B,1
 
      CP 4
 
      JZ EDOR_p
 
      CP 5
 
      JZ EDOR_n
 
        CP 172;i
 
        JZ EDORSMP
 
        CP "E
 
        JZ EDORNUM
 
        LD B,-1
 
        CP 197;u
 
        JZ EDORSMP
 
        CP "W
 
        JZ EDORNUM
 
        LD B,12
 
        CP "T
 
        JZ EDORNUM
 
        LD B,-12
 
        CP "R
 
        JZ EDORNUM
 
        CP "0
 
        JZ EDOR0
 
        CP kIns
 
      JZ EDoINS
 
        CP kDelLn
 
      JP Z,EDoDELLN
 
        CP "K
 
      JP Z,EDoBEG
 
        CP "L
 
      JP Z,EDoEND
 
        CP "+
 
        JZ EDoPLU
 
      SUB "0;1
 
      CP 9;8
 
         RET NC
 
      LD (OCT),A
 
EDORSq CALL PRORNos
 
        JP SHOLK
 
EDoPLU  CALL EoGadr
 
        JR EDORNEG
 
EDORSMP
 
        LD HL,EoSMP,A,(HL)
 
        ADD A,B
 
        AND 31
 
 
         LD (HL),A
 
         LD (HL),A
         JR EDORSq
+
         INC HL
EDORNUM
+
         SUB C
        CALL EoGadr
 
         ADD A,B
 
        LD B,0
 
        JP P,$+6
 
        INC B
 
 
         NEG  
 
         NEG  
      AND 127
 
      CP 96
 
      JC $+4
 
      LD A,96
 
        DJNZ $+4
 
EDORNEG
 
        NEG
 
        LD (HL),A
 
        CALL ORNline
 
        JP SHOLK
 
EDOR0
 
        CALL EoGadr
 
        XOR A
 
        JR EDORNEG
 
EDoINS
 
        CALL EoGadr
 
        LD A,63
 
        SUB L
 
        RET Z
 
        LD L,62,E,63,D,H,B,0,C,A
 
        LDDR
 
      INC L
 
        LD DE,EoLOOP
 
        CALL incCOR
 
      JZ $+4
 
      JNC EDoz
 
        EXD
 
        INC HL
 
      DEC A
 
        ADD A,(HL)
 
        CP E
 
        JC EDoz
 
        CP 63
 
        JNC $+3
 
EDoINSQ INC (HL)
 
        JR EDoz
 
EDoDELLN
 
        CALL EoGadr
 
        LD D,H,E,L
 
        INC L
 
        LD A,64
 
        SUB L
 
        RET Z
 
        LD B,0,C,A,A,L
 
        LDIR
 
        LD L,A
 
        LD DE,EoLOOP
 
        CALL decCOR
 
      JNC EDoz
 
        EXD
 
        INC HL
 
 
         ADD A,(HL)
 
         ADD A,(HL)
        CP E
 
        JC EDoz
 
        DEC (HL)
 
        JZ EDoINSQ
 
EDoz
 
        CALL PRORN
 
        JP SHOLK
 
EDoBEG
 
        LD A,(EoLIN)
 
      LD HL,EoLOOP
 
EDoBEGQ LD C,(HL)
 
      LD (HL),A
 
      INC HL
 
      SUB C
 
      NEG
 
      ADD A,(HL)
 
      LD (HL),A
 
        RET
 
EDoEND
 
        LD HL,EoLOOP
 
        LD A,(EoLIN)
 
        SUB (HL)
 
        INC HL
 
 
         LD (HL),A
 
         LD (HL),A
        RET  
+
        RET  
EDsBEG
+
EDoEND
        LD A,(EsLIN)
+
        LD HL,EoLOOP
      LD HL,EsLOOP
+
        LD A,(EoLIN)
      JR EDoBEGQ
+
        SUB (HL)
EDsEND
+
        INC HL
 +
        LD (HL),A
 +
        RET
 +
EDsBEG
 +
        LD A,(EsLIN)
 
         LD HL,EsLOOP
 
         LD HL,EsLOOP
         LD A,(EsLIN)
+
         JR EDoBEGQ
        SUB (HL)
+
EDsEND
        INC HL
+
        LD HL,EsLOOP
        LD (HL),A
+
        LD A,(EsLIN)
        RET  
+
        SUB (HL)
PRORN
+
        INC HL
        LD HL,EDORbf
+
        LD (HL),A
        LD E,1,C,16
+
        RET  
PRORN0  PUSH HL
+
PRORN
        LD D,1,B,4
+
        LD HL,EDORbf
PRORN1  PUSH BC
+
        LD E,1,C,16
        LD A,L
+
PRORN0  PUSH HL
        CALL toOO
+
        LD D,1,B,4
        INC D,D
+
PRORN1  PUSH BC
        PUSH HL
+
        LD A,L
        LD A,(HL),L,A
+
        CALL toOO
        OR A
+
        INC D,D
        LD B,"+
+
        PUSH HL
        CALL M,NEGHL-2
+
        LD A,(HL),L,A
        LD A,B
+
        OR A
        CALL PRADD
+
        LD B,"+
         INC D
+
        CALL M,NEGHL-2
        LD A,L
+
        LD A,B
        CALL toOO
+
        CALL PRADD
        INC D,D,D
+
        INC D
        POP HL
+
        LD A,L
         LD BC,16
+
        CALL toOO
         ADD HL,BC
+
        INC D,D,D
        POP BC
+
        POP HL
         DJNZ PRORN1
+
        LD BC,16
         INC E
+
        ADD HL,BC
         POP HL
+
        POP BC
 +
        DJNZ PRORN1
 +
        INC E
 +
        POP HL
 +
        INC L
 +
        DEC C
 +
        JNZ PRORN0
 +
        RET
 +
EORNCUR
 +
        CALL BIT5
 +
        RET Z
 +
        SUB 8
 +
        LD B,-16
 +
        JZ EORNC
 +
        DEC A
 +
        LD B,16
 +
        JZ EORNC
 +
        DEC A
 +
        LD B,1
 +
        JZ EORNC
 +
        DEC A
 +
        LD B,-1
 +
        RET NZ
 +
EORNC  LD A,(EoLIN)
 +
        ADD A,B
 +
        AND 63
 +
EORNCQ  EXA
 +
        LD E,7
 +
        CALL GornMRK+2
 +
        EXA
 +
        LD (EoLIN),A
 +
        LD HL,SHOLK
 +
        PUSH HL
 +
GornMRK LD E,56,A,(EoLIN)
 +
        LD BC,16
 +
        LD H,B
 +
        INC B
 +
        SUB C
 +
        JNC $-2
 +
        ADD A,C,A,3
 +
        ADD A,A,A,A,A,A
 +
        LD L,A
 +
        ADD HL,HL,HL,HL
 +
        LD A,H
 +
        SUB -88
 +
        LD H,A,A,B
 +
        ADD A,A,A,A
 +
        SUB 2
 +
        OR L
 +
        LD L,A,(HL),E
 +
        INC L
 +
        LD (HL),E
 +
        RET
 +
ORNline
 +
        LD A,(EoLIN),BC,16
 +
        INC B
 +
        SUB C
 +
        JNC $-2
 +
        ADC A,C
 +
        LD E,A,A,B
 +
        ADD A,A,A,A,A,A
 +
        SUB 4
 +
        LD D,A
 +
        LD HL,(ornADR)
 +
        LD A,(EoLIN)
 +
        ADD A,L
 +
        LD L,A,A,(HL),L,A
 +
        OR A
 +
        LD B,"+
 +
        CALL M,NEGHL-2
 +
        LD A,B
 +
        CALL PRADD
 +
        INC D
 +
        LD A,L
 +
        JP toOO
 +
EoPRMRK
 +
        LD A,(NOPKA)
 +
        OR A
 +
        LD A,3
 +
        CCF
 +
        CALL NZ,EoARPOS
 +
        CALL NC,EORNCQ
 +
EoLOOP=$+1
 +
EoLPlen=$+2
 +
        LD BC,0,DE,32
 +
        XOR A
 +
        LD HL,#5861
 +
PRoLP0  CP C
 +
        JZ PRoLPQ
 +
        LD (HL),5
 +
        CALL PRoLPP
 +
        JNZ PRoLP0
 +
        RET
 +
PRoLPQ  LD (HL),#5D
 +
        CALL PRoLPP
 +
        RET Z
 +
        DJNZ PRoLPQ
 +
        JR PRoLP0
 +
PRoLPP  INC A
 +
        PUSH AF
 +
        AND 15
 +
        JNZ PRoLPE
 +
        LD A,L
 +
        AND 31
 +
        LD H,88
 +
        ADD A,#44
 +
        LD L,A
 +
PRoLPE  ADD HL,DE
 +
        POP AF
 +
        AND 63
 +
        RET
 +
EsPRMRK
 +
        LD HL,SMPATR+1;#58E5
 +
EsLOOP=$+1
 +
EsLEN=$+2
 +
        LD BC,#100,A,C
 +
        ADD A,B
 +
        LD B,A,DE,32
 +
        LD A,(EsTOP)
 +
        EXA
 +
        LD A,SMPH
 +
EsPRMR0 EXA
 +
        CP C
 +
        JNC EsPRMR1+1
 +
EsPRMRQ LD (HL),5
 +
        INC A
 +
        EXA
 +
        ADD HL,DE
 +
        DEC A
 +
        JNZ EsPRMR0
 +
        RET
 +
EsPRMR1 EXA
 +
        CP B
 +
        JNC EsPRMRQ
 +
        LD (HL),#5D
 +
        INC A
 +
        EXA
 +
        ADD HL,DE
 +
        DEC A
 +
        JNZ EsPRMR1
 +
        RET
 +
EDSMORN
 +
        LD HL,EsORN,A,(HL)
 +
        ADD A,C
 +
        AND #F
 +
        LD (HL),A
 +
        JR EDSMOq
 +
EDSM_p
 +
        POP AF,HL
 +
        CALL SMPQU
 +
        CALL DECSMP
 +
        JP EDSMP
 +
EDSM_n
 +
        POP AF,HL
 +
        CALL SMPQU
 +
        CALL INCSMP
 +
        JP EDSMP
 +
EDSMPKY
 +
        CALL FIRE
 +
        JP NZ,EDSMPFI
 +
        XOR A
 +
        LD (EDSMFIh),A
 +
        CALL BIT5
 +
        RET Z
 +
         CP 4
 +
        JZ EDSM_p
 +
        CP 5
 +
        JZ EDSM_n
 +
        LD BC,32
 +
        CP "R
 +
        JZ EDSMNUM
 +
        LD C,1
 +
        CP 172;i
 +
        JZ EDSMORN
 +
        CP "W
 +
        JZ EDSMNUM
 +
        DEC BC,BC
 +
        CP 197;u
 +
        JZ EDSMORN
 +
        CP "E
 +
        JZ EDSMNUM
 +
        LD C,-32
 +
        CP "T
 +
        JZ EDSMNUM
 +
        CP "0
 +
        JZ EDSM0
 +
        CP "+
 +
        JZ EDsPLU
 +
        SUB "0;1
 +
        CP 9;8
 +
        RET NC
 +
        LD (OCT),A
 +
EDSMOq  CALL PROCORN
 +
        JP SHOLK
 +
EsX=$+1
 +
EDsPLU  LD A,0
 +
        INC A
 +
        RET Z
 +
        CALL EsGadr
 +
        PUSH HL
 +
        POP IX
 +
        LD L,(IX),H,(IX+1)
 +
        CALL NEGHL
 +
        JR EDSMNQ
 +
EDSM0
 +
        CALL EsGadr
 +
        LD A,(EsX)
 +
        INC A
 +
        JNZ EDsNOI0
 +
        INC L,L
 +
        LD A,(HL)
 +
        AND #E0
 +
        LD (HL),A
 +
        JR EDsNOIQ
 +
EDsNOI0 XOR A
 +
        LD (HL),A
 +
        INC L
 +
        LD (HL),A
 +
        JR EDSMKQ
 +
EDSMNUM
 +
        LD A,(EsX)
 +
        INC A
 +
        JZ EDSMNOI
 +
        CALL EsGadr
 +
        PUSH HL
 +
        POP IX
 +
        LD L,(IX),H,(IX+1)
 +
        ADD HL,BC
 +
        LD A,H
 +
        OR A
 +
        LD B,#F
 +
        JP P,EDSMNOK
 +
        CALL NEGHL
 +
        LD A,H
 +
        AND B
 +
        LD H,A
 +
        CALL NEGHL
 +
        JR $+4
 +
EDSMNOK AND B
 +
        LD H,A
 +
EDSMNQ  LD (IX),L,(IX+1),H
 +
EDSMKQ  CALL EsPRNUM
 +
        JP SHOLK
 +
EDSMNOI
 +
        CALL EsGadr
 +
        INC L,L
 +
        LD A,(HL)
 +
        SUB C
 +
        XOR (HL)
 +
        AND 31
 +
        XOR (HL)
 +
        LD (HL),A
 +
EDsNOIQ CALL EsPRNOI
 +
        JP SHOLK
 +
EsGadr
 +
        LD H,'EDORbf,A,(EsTOP),D,A
 +
EsLIN=$+1
 +
        LD A,0
 +
        PUSH AF
 +
        SUB D
 +
        LD E,A
 +
        POP AF
 +
        ADD A,A,A,A
 +
        LD L,A
 +
        RET
 +
;3
 +
PRSMLIN
 +
        PUSH AF,AF
 +
        LD D,1
 +
        CALL toOO
 +
        LD D,8
 +
        POP AF
 +
        ADD A,A,A,A
 +
        LD HX,'EDORbf,LX,A
 +
        LD A,(IX+1)
 +
        OR A
 +
        LD L,(IX),H,(IX+1)
 +
        LD B,"+
 +
        CALL M,NEGHL-2
 +
        LD A,"+"+"-
 +
        SUB B
 +
        CALL PRADD
 +
        INC D
 +
        CALL toOOOO
 +
        INC D,D
 +
        LD A,(IX+2)
 +
        PUSH AF
 +
        AND 31
 +
        CALL toOO
 +
        INC D,D
 +
        POP AF
 +
        CALL PRTNE
 +
        LD A,(IX+3)
 +
        CALL PRVTN
 +
        POP AF
 +
        JP PRSMVOL
 +
EsPRNUM
 +
        CALL EsGadr
 +
        LD D,8,A,(HL)
 +
        INC L
 +
        LD H,(HL),L,A,A,H
 +
        RLA
 +
        LD B,"-
 +
         JNC $+7
 +
        LD B,"+
 +
        CALL NEGHL
 +
        LD A,B
 +
        CALL PRADD
 +
        INC D
 +
        JP toOOOO
 +
EsPRNOI
 +
        CALL EsGadr
 +
        ADD A,2
 +
        LD L,A,D,#E,A,(HL)
 +
        AND 31
 +
        JP toOO
 +
TNEVTN
 +
        LD H,'EDORbf
 +
TNEVTNl=$+1
 +
        LD L,0
 +
TNEVTNy=$+1
 +
        LD DE,#1100
 +
        LD A,(HL)
 +
        INC HL
 +
        LD B,(HL)
 +
        PUSH BC
 +
        CALL PRTNE
 +
        POP AF
 +
        JR PRVTN
 +
PRTNE
 +
        LD L,A,H,"-
 +
        AND #80
 +
        LD A,"T
 +
        JZ $+3
 +
        LD A,H
 +
        CALL PRADD
 +
        INC D
 +
        LD A,L
 +
        AND 64
 +
        LD A,"N
 +
        JZ $+3
 +
        LD A,H
 +
        CALL PRADD
 +
        INC D
 +
        LD A,L
 +
        AND 32
 +
        LD A,"E
 +
        JZ $+3
 +
        LD A,H
 +
        JP PRADD
 +
PRVTN
 +
        LD D,4,C,A
 +
        RLA
 +
        LD A,"0
 +
        JNC PRVTN0
 +
        BIT 6,C
 +
        LD A,"-
 +
        JZ $+4
 +
        LD A,"+
 +
PRVTN0  CALL PRADD
 +
        LD A,32
 +
        CALL PRVTNPP
 +
        LD A,16
 +
PRVTNPP AND C
 +
        LD A,"0
 +
        JZ $+4
 +
        LD A,"+
 +
        INC D
 +
        JP PRADD
 +
EsFITN
 +
        LD B,32
 +
        CP SMPX<3+#1C
 +
        JC $+7
 +
EsFIfN  LD B,16
 +
        CP 64
 +
        RET NC
 +
        INC HL
 +
        LD A,(HL)
 +
        XOR B
 +
        JR EsFIVTQ
 +
EsFIx
 +
        SBC A,A
 +
        EXA
 +
        CALL GsMRK7
 +
        LD A,(EsFIlin),(EsLIN),A
 +
        EXA
 +
        LD (EsX),A
 +
        CALL GsMRK56
 +
        JP SHOLK
 +
EsNfix
 +
        CALL EDSMFIp
 +
        XOR A
 +
        JR EsFIfN
 +
EsTfix
 +
        CALL EDSMFIp
 +
        XOR A
 +
        JR EsFITN
 +
EsAfix
 +
        CALL EDSMFIp
 +
        JR EsFIV
 +
EsTi
 +
        CALL EDSMFIp
 +
        XOR A
 +
        JR Es_T
 +
EsNi
 +
        CALL EDSMFIp
 +
        XOR A
 +
        JR Es_N
 +
EsEi
 +
        CALL EDSMFIp
 +
        JR Es_E
 +
EsFIVTN
 +
        CP SMPX<3+#38
 +
        CCF
 +
        JC EsFIx ;смещ.шума
 +
        CP SMPX<3+#28
 +
        JNC EsFIx ;цикл
 +
        CP SMPX<3+#14
 +
        RET C ;слева от VTN
 +
        CP SMPX<3+#18
 +
        JNC EsFITN
 +
EsFIV  INC HL
 +
        LD A,(HL),C,A
 +
        LD B,#80
 +
        AND B
 +
        JNZ $+6
 +
        LD A,C
 +
        OR B
 +
        JR EsFIVTQ
 +
        LD A,C
 +
        XOR 64
 +
        LD C,A
 +
        AND 64
 +
        LD A,C
 +
        JNZ $+4
 +
        AND 63
 +
EsFIVTQ LD (HL),A
 +
        JR EsFIQ
 +
EDSMPFI
 +
        LD HL,(ARXY),A,L
 +
        SUB SMPY+1<3;#38
 +
        CP SMPH<3
 +
        RET NC
 +
        RES 0,H,1,H
 +
        RRA
 +
        RRA
 +
        RRA
 +
        AND #1F
 +
        LD B,A
 +
        CP 0
 +
        LD ($-1),A
 +
        LD A,H
 +
        JNZ EDSMFIn
 +
EDSMFIh=$+1
 +
        CP 0
 +
EDSMFIn LD ($-1),A
 +
        RET Z
 +
         CALL EDSMFIP
 +
        CP SMPX<3+#48
 +
        JC EsFIVTN
 +
        CP SMPX<3+#54
 +
        JNC EsFIVOL
 +
Es_T    LD B,#80
 +
        CP SMPX<3+#4C
 +
        JC EsFINUM
 +
Es_N    LD B,64
 +
        CP SMPX<3+#50
 +
        JC $+4
 +
Es_E    LD B,32
 +
EsFINUM LD A,(HL)
 +
        XOR B
 +
        LD (HL),A
 +
EsFIQ  CALL TNEVTN
 +
        JP SHOLK
 +
EDSMFIp
 +
        LD A,(EsLIN),HL,EsTOP
 +
        SUB (HL)
 +
        LD B,A
 +
EDSMFIP LD A,(EsTOP)
 +
        ADD A,B
 +
        LD (EsFIlin),A
 +
        ADD A,A,A,A,A,2
 +
        LD L,A,(TNEVTNl),A
 +
        LD A,B
 +
EDSpQ  LD (TNEVTNy),A
 +
        LD A,H,H,'EDORbf
 +
        RET
 +
EsVOLi
 +
        CALL EDSMFIp
 +
        INC HL
 +
        LD A,(HL)
 +
        INC A
 +
        JR EsVOLQ
 +
EsVOLd
 +
        CALL EDSMFIp
 +
        INC HL
 +
        LD A,(HL)
 +
        DEC A
 +
        JR EsVOLQ
 +
EsFIVOL
 +
        SUB SMPX<3+#54
 +
        CP #40
 +
        RET NC
 +
        RRA
 +
        RRA
 +
        INC HL
 +
EsVOLQ  AND #F
 +
        LD E,A,A,(HL)
 +
        AND #F0
 +
        OR E
 +
        LD (HL),A
 +
        LD A,(TNEVTNy),E,A
 +
EsFIlin=$+1
 +
        LD A,0
 +
        CALL PRSMVOL
 +
        JP SHOLK
 +
EDsSCUP
 +
        LD DE,SMPATR&#300<3+.SMPATR+#4001+SMPX
 +
        LD HL,SMPATR+32&#300<3+.(SMPATR+32)+#4001+SMPX
 +
        LD A,SMPH<3-8
 +
EDsSCU0
 +
        CALL EDsLDI
 +
        CALL DHL,DDE
 +
        EXA
 +
        JNZ EDsSCU0
 +
        RET
 +
EDsSCDN
 +
        LD DE,SMPBOT&#300<3+.SMPBOT+#4001+SMPX
 +
        LD HL,SMPBOT-32&#300<3+.(SMPBOT-32)+#4001+SMPX
 +
        LD A,SMPH<3-8
 +
EDsSCD0
 +
        CALL EDsLDI
 +
        CALL UHL,UDE
 +
        EXA
 +
        JNZ EDsSCD0
 +
        RET
 +
EDsLDI
 +
        DEC A
 +
        EXA
 +
        LD BC,19
 +
        PUSH HL,DE
 +
        LDIR
 +
        POP DE,HL
 +
        RET
 +
EDsUP
 +
        DEC A
 +
        RET NZ
 +
        CALL GsMRK7
 +
        LD A,(EsLIN)
 +
        DEC A
 +
        JP M,EDsCQ
 +
        LD B,A,A,(EsTOP),C,A
 +
        DEC A
 +
        CP B
 +
        JNZ EDsUQ
 +
        PUSH BC
 +
        CALL EDsSCDN
 +
        POP BC
 +
        LD A,C
 +
        DEC A
 +
        LD (EsTOP),A
 +
        PUSH BC
 +
        LD E,0
 +
        CALL PRSMLIN
 +
        POP BC
 +
EDsUQ  LD A,B,(EsLIN),A
 +
        JR EDsCQ
 +
EDsLR
 +
        CALL GsMRK7
 +
        LD HL,EsX,A,(HL)
 +
        CPL
 +
        LD (HL),A
 +
EDsCQ  CALL GsMRK56
 +
        JP SHOLK
 +
EDSMCUR
 +
        CALL BIT5
 +
        RET Z
 +
        CP "A
 +
        JP Z,EsAfix
 +
        CP "9
 +
        JP Z,EsTfix
 +
        CP "F
 +
        JP Z,EsNfix
 +
        CP ")
 +
        JP Z,EsVOLi
 +
        CP "(
 +
        JP Z,EsVOLd
 +
        CP kIns
 +
        JZ EDsINS
 +
        CP kDelLn
 +
         JP Z,EDsDELLN
 +
        CP "K
 +
        JP Z,EDsBEG
 +
        CP "L
 +
        JP Z,EDsEND
 +
        CP "Y
 +
        JP Z,EsTi
 +
        CP "U
 +
        JP Z,EsNi
 +
        CP "I
 +
         JP Z,EsEi
 +
      ; SUB 4
 +
      ; JZ EDsTRU
 +
      ; DEC A
 +
      ; JP Z,EDsINV
 +
        SUB 3+5
 +
        JZ EDsLR
 +
        DEC A
 +
        JZ EDsLR
 +
        DEC A
 +
        JP NZ,EDsUP
 +
        CALL GsMRK7
 +
        LD A,(EsLIN)
 +
        INC A
 +
        AND 63
 +
        JZ EDsCQ
 +
        LD BC,(EsTOP),B,A
 +
        SUB C
 +
        CP SMPH
 +
        JNZ EDsDQ
 +
        PUSH BC
 +
        CALL EDsSCUP
 +
        POP BC
 +
        LD A,C
 +
        INC A
 +
        LD (EsTOP),A
 +
        PUSH BC
 +
        LD E,SMPH-1
 +
        ADD A,E
 +
        CALL PRSMLIN
 +
        POP BC
 +
EDsDQ  LD A,B,(EsLIN),A
 +
        JP EDsCQ
 +
         IFN 0
 +
EDsTRU
 +
        CALL GsMRK7
 +
        LD HL,EsLIN,A,(HL)
 +
        SUB SMPH
 +
        LD (HL),A
 +
        LD DE,EsTOP,A,(DE)
 +
        SUB SMPH
 +
        JNC $+4
 +
        XOR A
 +
        LD (HL),A
 +
        JR EDsInE
 +
        ENDIF
 +
EDsINS
 +
        CALL EsGadr
 +
        LD A,-4
 +
        SUB L
 +
        RET Z
 +
        LD L,-5,D,H,E,-1,B,0,C,A
 +
        LDDR
 
         INC L
 
         INC L
         DEC C
+
         SRL L,L
        JNZ PRORN0
+
        LD DE,EsLOOP
        RET
+
        CALL incCOR
EORNCUR
+
         JZ $+4
        CALL BIT5
+
         JNC EDsINVQ
         RET Z
+
        EXD
         SUB 8
+
        INC HL
        LD B,-16
 
        JZ EORNC
 
 
         DEC A
 
         DEC A
        LD B,16
+
        ADD A,(HL)
        JZ EORNC
+
        CP E
        DEC A
+
        JC EDsINVQ
        LD B,1
+
        CP 63
        JZ EORNC
+
        JNC $+3
        DEC A
+
        INC (HL)
        LD B,-1
+
        JR EDsINVQ
        RET NZ
+
EDsDELLN
EORNC  LD A,(EoLIN)
+
        CALL EsGadr
        ADD A,B
+
        LD D,H,A,L
        AND 63
+
        ADD A,4
EORNCQ  EXA
+
        LD E,A
        LD E,7
+
        EXD
        CALL GornMRK+2
+
        XOR A
        EXA
+
        LD B,A
        LD (EoLIN),A
+
        SUB L
        LD HL,SHOLK
+
        RET Z
        PUSH HL
+
        LD C,A
GornMRK LD E,56,A,(EoLIN)
 
        LD BC,16
 
        LD H,B
 
        INC B
 
        SUB C
 
        JNC $-2
 
        ADD A,C,A,3
 
        ADD A,A,A,A,A,A
 
        LD L,A
 
        ADD HL,HL,HL,HL
 
        LD A,H
 
        SUB -88
 
        LD H,A,A,B
 
        ADD A,A,A,A
 
        SUB 2
 
        OR L
 
        LD L,A,(HL),E
 
        INC L
 
        LD (HL),E
 
        RET
 
ORNline
 
        LD A,(EoLIN),BC,16
 
        INC B
 
        SUB C
 
        JNC $-2
 
        ADC A,C
 
        LD E,A,A,B
 
        ADD A,A,A,A,A,A
 
        SUB 4
 
        LD D,A
 
        LD HL,(ornADR)
 
        LD A,(EoLIN)
 
        ADD A,L
 
        LD L,A,A,(HL),L,A
 
        OR A
 
        LD B,"+
 
        CALL M,NEGHL-2
 
        LD A,B
 
        CALL PRADD
 
        INC D
 
 
         LD A,L
 
         LD A,L
        JP toOO
+
        LDIR
EoPRMRK
 
        LD A,(NOPKA)
 
        OR A
 
        LD A,3
 
        CCF
 
        CALL NZ,EoARPOS
 
        CALL NC,EORNCQ
 
EoLOOP=$+1
 
EoLPlen=$+2
 
        LD BC,0,DE,32
 
        XOR A
 
        LD HL,#5861
 
PRoLP0  CP C
 
        JZ PRoLPQ
 
        LD (HL),5
 
        CALL PRoLPP
 
        JNZ PRoLP0
 
        RET
 
PRoLPQ  LD (HL),#5D
 
        CALL PRoLPP
 
        RET Z
 
        DJNZ PRoLPQ
 
        JR PRoLP0
 
PRoLPP  INC A
 
        PUSH AF
 
        AND 15
 
        JNZ PRoLPE
 
        LD A,L
 
        AND 31
 
        LD H,88
 
        ADD A,#44
 
 
         LD L,A
 
         LD L,A
PRoLPE  ADD HL,DE
+
        SRL L,L
        POP AF
+
        LD DE,EsLOOP
         AND 63
+
        CALL decCOR
        RET
+
         JNC EDsINVQ
EsPRMRK
+
        EXD
        LD HL,SMPATR+1;#58E5
+
        INC HL
EsLOOP=$+1
+
        ADD A,(HL)
EsLEN=$+2
+
        CP E
        LD BC,#100,A,C
+
        JC $+3
         ADD A,B
+
        DEC (HL)
        LD B,A,DE,32
+
         IFN 0
        LD A,(EsTOP)
+
        JR EDsINVQ
        EXA
+
EDsINV
        LD A,SMPH
+
        CALL GsMRK7
EsPRMR0 EXA
+
        LD HL,EsLIN,A,(HL)
        CP C
+
        ADD A,SMPH
        JNC EsPRMR1+1
+
        LD (HL),A,DE,EsTOP,A,(DE)
EsPRMRQ LD (HL),5
+
        ADD A,SMPH
        INC A
+
        CP 65-SMPH
        EXA
+
        JC EDsInE
        ADD HL,DE
+
        LD (HL),63
        DEC A
+
        LD A,64-SMPH
        JNZ EsPRMR0
+
EDsInE  LD (DE),A
        RET
+
         ENDIF
EsPRMR1 EXA
+
EDsINVQ CALL SHOLK
        CP B
+
        CALL PRSMP
        JNC EsPRMRQ
+
GsMRK56
        LD (HL),#5D
+
        LD E,56
        INC A
+
        JR GsmpMRK
        EXA
+
GsMRK7
        ADD HL,DE
+
        LD E,7
         DEC A
+
GsmpMRK
        JNZ EsPRMR1
+
        LD A,(EsLIN)
        RET
+
EsTOP=$+1
EDSMORN
+
        SUB 0
        LD HL,EsORN,A,(HL)
+
        ADD A,A,A,A,A,A
        ADD A,C
+
        LD L,A,H,0,BC,SMPATR;#58E4
        AND #F
+
        ADD HL,HL,HL,HL,HL,BC
        LD (HL),A
+
        LD A,(EsX)
        JR EDSMOq
+
        OR A
EDSM_p
+
        LD A,5
        POP AF,HL
+
        JZ $+4
        CALL SMPQU
+
        LD A,7
        CALL DECSMP
+
        ADD A,L
        JP EDSMP
+
        LD L,A
EDSM_n
+
        LD (HL),E
        POP AF,HL
+
        INC L
        CALL SMPQU
+
        LD (HL),E
        CALL INCSMP
+
        RET  
        JP EDSMP
+
PRORNos
EDSMPKY
+
        LD A,(OCT)
        CALL FIRE
+
         ADD A,"0
        JP NZ,EDSMPFI
+
        LD DE,#E11
        XOR A
+
        CALL PRADD
        LD (EDSMFIh),A
+
        LD A,(EoSMP)
        CALL BIT5
+
        CALL HEXDIG
        RET Z
+
        LD D,#18
      CP 4
+
        JP PRADD
      JZ EDSM_p
+
PROCORN
      CP 5
+
         LD A,(OCT)
      JZ EDSM_n
+
         ADD A,"0
         LD BC,32
+
        LD DE,#1000+SMPH
        CP "R
+
        CALL PRADD
        JZ EDSMNUM
+
        LD A,(EsORN)
        LD C,1
+
        CALL HEXDIG
        CP 172;i
+
        LD D,#1C
        JZ EDSMORN
+
        JP PRADD
        CP "W
+
PRSMP
        JZ EDSMNUM
+
        LD E,0
        DEC BC,BC
+
        LD A,(EsTOP)
        CP 197;u
+
        ADD A,SMPH
        JZ EDSMORN
+
        LD (PRSMPe),A
        CP "E
+
        SUB SMPH
        JZ EDSMNUM
+
  PRSMP0  PUSH AF,DE
         LD C,-32
+
        CALL PRSMLIN
         CP "T
+
        POP DE,AF
        JZ EDSMNUM
+
        INC E,A
        CP "0
+
PRSMPe=$+1
        JZ EDSM0
+
        CP 0
        CP "+
+
        JNZ PRSMP0
        JZ EDsPLU
+
        RET  
      SUB "0;1
+
PRSMVOL
      CP 9;8
+
        PUSH DE,AF
        RET NC
+
        CALL PRADDPP
      LD (OCT),A
+
        LD D,11+SMPX
EDSMOq CALL PROCORN
+
        CALL DE2SCR
        JP SHOLK
+
        INC H
EsX=$+1
+
        EXD
EDsPLU  LD A,0
+
        LD H,'EDORbf
        INC A
+
        POP AF
        RET Z
+
        ADD A,A,A,A,A,3
        CALL EsGadr
+
        LD L,A,A,(HL)
        PUSH HL
+
        AND #F
        POP IX
+
        LD (PRSMVa),A
        LD L,(IX),H,(IX+1)
+
        EXD
        CALL NEGHL
+
        PUSH AF,HL
        JR EDSMNQ
+
        LD A,#22,B,7
EDSM0
+
        CALL BLOBER
        CALL EsGadr
+
        INC L
        LD A,(EsX)
+
        DJNZ $-4
        INC A
+
        LD A,#20
        JNZ EDsNOI0
+
        CALL BLOBER
        INC L,L
+
        POP HL,AF
        LD A,(HL)
+
        LD E,A
        AND #E0
+
        RRA
        LD (HL),A
+
        PUSH AF
        JR EDsNOIQ
+
        AND 7
EDsNOI0 XOR A
+
        JZ PRVOL7
        LD (HL),A
+
        LD B,A,A,#77
        INC L
+
PRVOL0  LD D,H
        LD (HL),A
+
         DUP 5
        JR EDSMKQ
+
        LD (HL),A
EDSMNUM
+
        INC H
        LD A,(EsX)
+
         EDUP
        INC A
+
        LD (HL),A,H,D
        JZ EDSMNOI
+
        INC L
        CALL EsGadr
+
        DJNZ PRVOL0
        PUSH HL
+
PRVOL7  LD A,E
        POP IX
+
        CP #F
        LD L,(IX),H,(IX+1)
+
        LD E,#72
        ADD HL,BC
+
        JNZ $+4
         LD A,H
+
        LD E,#70
         OR A
+
        POP AF
        LD B,#F
+
        LD A,E
        JP P,EDSMNOK
+
        CALL C,BLOBER7
        CALL NEGHL
+
PRSMVa=$+1
        LD A,H
+
        LD A,0
        AND B
+
        POP DE
        LD H,A
+
        LD D,#25
        CALL NEGHL
+
        JP D2HEX
        JR $+4
+
DQ  LD A,B,(EsLIN),A
EDSMNOK AND B
+
        JP EDsCQ
        LD H,A
+
         IFN 0
EDSMNQ  LD (IX),L,(IX+1),H
+
EDsTRU
EDSMKQ  CALL EsPRNUM
+
        CALL GsMRK7
        JP SHOLK
+
        LD HL,EsLIN,A,(HL)
EDSMNOI
 
        CALL EsGadr
 
        INC L,L
 
        LD A,(HL)
 
        SUB C
 
         XOR (HL)
 
        AND 31
 
        XOR (HL)
 
        LD (HL),A
 
EDsNOIQ CALL EsPRNOI
 
        JP SHOLK
 
EsGadr
 
        LD H,'EDORbf,A,(EsTOP),D,A
 
EsLIN=$+1
 
        LD A,0
 
        PUSH AF
 
        SUB D
 
        LD E,A
 
        POP AF
 
        ADD A,A,A,A
 
        LD L,A
 
        RET
 
;3
 
PRSMLIN
 
        PUSH AF,AF
 
        LD D,1
 
        CALL toOO
 
        LD D,8
 
        POP AF
 
        ADD A,A,A,A
 
        LD HX,'EDORbf,LX,A
 
        LD A,(IX+1)
 
        OR A
 
        LD L,(IX),H,(IX+1)
 
        LD B,"+
 
        CALL M,NEGHL-2
 
        LD A,"+"+"-
 
        SUB B
 
        CALL PRADD
 
        INC D
 
        CALL toOOOO
 
        INC D,D
 
        LD A,(IX+2)
 
        PUSH AF
 
        AND 31
 
        CALL toOO
 
        INC D,D
 
        POP AF
 
        CALL PRTNE
 
        LD A,(IX+3)
 
        CALL PRVTN
 
        POP AF
 
        JP PRSMVOL
 
EsPRNUM
 
        CALL EsGadr
 
        LD D,8,A,(HL)
 
        INC L
 
        LD H,(HL),L,A,A,H
 
      RLA
 
        LD B,"-
 
      JNC $+7
 
        LD B,"+
 
        CALL NEGHL
 
        LD A,B
 
        CALL PRADD
 
        INC D
 
        JP toOOOO
 
EsPRNOI
 
        CALL EsGadr
 
        ADD A,2
 
        LD L,A,D,#E,A,(HL)
 
        AND 31
 
        JP toOO
 
TNEVTN
 
        LD H,'EDORbf
 
TNEVTNl=$+1
 
        LD L,0
 
TNEVTNy=$+1
 
        LD DE,#1100
 
        LD A,(HL)
 
        INC HL
 
        LD B,(HL)
 
        PUSH BC
 
        CALL PRTNE
 
        POP AF
 
        JR PRVTN
 
PRTNE
 
        LD L,A,H,"-
 
        AND #80
 
        LD A,"T
 
        JZ $+3
 
        LD A,H
 
        CALL PRADD
 
        INC D
 
        LD A,L
 
        AND 64
 
        LD A,"N
 
        JZ $+3
 
        LD A,H
 
        CALL PRADD
 
        INC D
 
        LD A,L
 
        AND 32
 
        LD A,"E
 
        JZ $+3
 
        LD A,H
 
        JP PRADD
 
PRVTN
 
        LD D,4,C,A
 
        RLA
 
        LD A,"0
 
        JNC PRVTN0
 
        BIT 6,C
 
        LD A,"-
 
        JZ $+4
 
        LD A,"+
 
PRVTN0  CALL PRADD
 
        LD A,32
 
        CALL PRVTNPP
 
        LD A,16
 
PRVTNPP AND C
 
        LD A,"0
 
        JZ $+4
 
        LD A,"+
 
        INC D
 
        JP PRADD
 
EsFITN
 
        LD B,32
 
        CP SMPX<3+#1C
 
        JC $+7
 
EsFIfN  LD B,16
 
        CP 64
 
        RET NC
 
        INC HL
 
        LD A,(HL)
 
        XOR B
 
        JR EsFIVTQ
 
EsFIx
 
        SBC A,A
 
        EXA
 
        CALL GsMRK7
 
        LD A,(EsFIlin),(EsLIN),A
 
        EXA
 
        LD (EsX),A
 
        CALL GsMRK56
 
        JP SHOLK
 
EsNfix
 
        CALL EDSMFIp
 
        XOR A
 
        JR EsFIfN
 
EsTfix
 
        CALL EDSMFIp
 
        XOR A
 
        JR EsFITN
 
EsAfix
 
        CALL EDSMFIp
 
        JR EsFIV
 
EsTi
 
        CALL EDSMFIp
 
        XOR A
 
        JR Es_T
 
EsNi
 
        CALL EDSMFIp
 
        XOR A
 
        JR Es_N
 
EsEi
 
        CALL EDSMFIp
 
        JR Es_E
 
EsFIVTN
 
        CP SMPX<3+#38
 
        CCF
 
        JC EsFIx ;смещ.шума
 
        CP SMPX<3+#28
 
        JNC EsFIx ;цикл
 
        CP SMPX<3+#14
 
        RET C ;слева от VTN
 
        CP SMPX<3+#18
 
        JNC EsFITN
 
EsFIV  INC HL
 
        LD A,(HL),C,A
 
        LD B,#80
 
        AND B
 
        JNZ $+6
 
        LD A,C
 
        OR B
 
        JR EsFIVTQ
 
        LD A,C
 
        XOR 64
 
        LD C,A
 
        AND 64
 
        LD A,C
 
        JNZ $+4
 
        AND 63
 
EsFIVTQ LD (HL),A
 
        JR EsFIQ
 
EDSMPFI
 
        LD HL,(ARXY),A,L
 
        SUB SMPY+1<3;#38
 
        CP SMPH<3
 
        RET NC
 
        RES 0,H,1,H
 
        RRA
 
        RRA
 
        RRA
 
        AND #1F
 
        LD B,A
 
        CP 0
 
        LD ($-1),A
 
        LD A,H
 
        JNZ EDSMFIn
 
EDSMFIh=$+1
 
        CP 0
 
EDSMFIn LD ($-1),A
 
        RET Z
 
      CALL EDSMFIP
 
        CP SMPX<3+#48
 
        JC EsFIVTN
 
        CP SMPX<3+#54
 
        JNC EsFIVOL
 
Es_T    LD B,#80
 
        CP SMPX<3+#4C
 
        JC EsFINUM
 
Es_N    LD B,64
 
        CP SMPX<3+#50
 
        JC $+4
 
Es_E    LD B,32
 
EsFINUM LD A,(HL)
 
        XOR B
 
        LD (HL),A
 
EsFIQ  CALL TNEVTN
 
        JP SHOLK
 
EDSMFIp
 
        LD A,(EsLIN),HL,EsTOP
 
        SUB (HL)
 
        LD B,A
 
EDSMFIP LD A,(EsTOP)
 
        ADD A,B
 
        LD (EsFIlin),A
 
        ADD A,A,A,A,A,2
 
        LD L,A,(TNEVTNl),A
 
        LD A,B
 
EDSpQ  LD (TNEVTNy),A
 
        LD A,H,H,'EDORbf
 
        RET
 
EsVOLi
 
        CALL EDSMFIp
 
        INC HL
 
        LD A,(HL)
 
        INC A
 
        JR EsVOLQ
 
EsVOLd
 
        CALL EDSMFIp
 
        INC HL
 
        LD A,(HL)
 
        DEC A
 
        JR EsVOLQ
 
EsFIVOL
 
        SUB SMPX<3+#54
 
        CP #40
 
        RET NC
 
        RRA
 
        RRA
 
        INC HL
 
EsVOLQ  AND #F
 
        LD E,A,A,(HL)
 
        AND #F0
 
        OR E
 
        LD (HL),A
 
        LD A,(TNEVTNy),E,A
 
EsFIlin=$+1
 
        LD A,0
 
        CALL PRSMVOL
 
        JP SHOLK
 
EDsSCUP
 
        LD DE,SMPATR&#300<3+.SMPATR+#4001+SMPX
 
        LD HL,SMPATR+32&#300<3+.(SMPATR+32)+#4001+SMPX
 
        LD A,SMPH<3-8
 
EDsSCU0
 
        CALL EDsLDI
 
        CALL DHL,DDE
 
        EXA
 
        JNZ EDsSCU0
 
        RET
 
EDsSCDN
 
        LD DE,SMPBOT&#300<3+.SMPBOT+#4001+SMPX
 
        LD HL,SMPBOT-32&#300<3+.(SMPBOT-32)+#4001+SMPX
 
        LD A,SMPH<3-8
 
EDsSCD0
 
        CALL EDsLDI
 
        CALL UHL,UDE
 
        EXA
 
        JNZ EDsSCD0
 
        RET
 
EDsLDI
 
        DEC A
 
        EXA
 
        LD BC,19
 
        PUSH HL,DE
 
        LDIR
 
        POP DE,HL
 
        RET
 
EDsUP
 
        DEC A
 
        RET NZ
 
        CALL GsMRK7
 
        LD A,(EsLIN)
 
        DEC A
 
        JP M,EDsCQ
 
        LD B,A,A,(EsTOP),C,A
 
        DEC A
 
        CP B
 
        JNZ EDsUQ
 
        PUSH BC
 
        CALL EDsSCDN
 
        POP BC
 
        LD A,C
 
        DEC A
 
        LD (EsTOP),A
 
        PUSH BC
 
        LD E,0
 
        CALL PRSMLIN
 
        POP BC
 
EDsUQ  LD A,B,(EsLIN),A
 
        JR EDsCQ
 
EDsLR
 
        CALL GsMRK7
 
        LD HL,EsX,A,(HL)
 
        CPL
 
        LD (HL),A
 
EDsCQ  CALL GsMRK56
 
        JP SHOLK
 
EDSMCUR
 
        CALL BIT5
 
        RET Z
 
        CP "A
 
      JP Z,EsAfix
 
        CP "9
 
      JP Z,EsTfix
 
        CP "F
 
      JP Z,EsNfix
 
        CP ")
 
      JP Z,EsVOLi
 
        CP "(
 
      JP Z,EsVOLd
 
        CP kIns
 
      JZ EDsINS
 
        CP kDelLn
 
      JP Z,EDsDELLN
 
        CP "K
 
      JP Z,EDsBEG
 
        CP "L
 
      JP Z,EDsEND
 
        CP "Y
 
      JP Z,EsTi
 
        CP "U
 
      JP Z,EsNi
 
        CP "I
 
      JP Z,EsEi
 
      ; SUB 4
 
      ; JZ EDsTRU
 
      ; DEC A
 
      ; JP Z,EDsINV
 
        SUB 3+5
 
        JZ EDsLR
 
        DEC A
 
        JZ EDsLR
 
        DEC A
 
        JP NZ,EDsUP
 
        CALL GsMRK7
 
        LD A,(EsLIN)
 
        INC A
 
        AND 63
 
        JZ EDsCQ
 
        LD BC,(EsTOP),B,A
 
        SUB C
 
        CP SMPH
 
        JNZ EDsDQ
 
        PUSH BC
 
        CALL EDsSCUP
 
        POP BC
 
        LD A,C
 
        INC A
 
        LD (EsTOP),A
 
        PUSH BC
 
        LD E,SMPH-1
 
        ADD A,E
 
        CALL PRSMLIN
 
        POP BC
 
EDsDQ  LD A,B,(EsLIN),A
 
        JP EDsCQ
 
      IFN 0
 
EDsTRU
 
        CALL GsMRK7
 
        LD HL,EsLIN,A,(HL)
 
        SUB SMPH
 
        LD (HL),A
 
        LD DE,EsTOP,A,(DE)
 
        SUB SMPH
 
        JNC $+4
 
        XOR A
 
        LD (HL),A
 
        JR EDsInE
 
      ENDIF
 
EDsINS
 
        CALL EsGadr
 
        LD A,-4
 
        SUB L
 
        RET Z
 
        LD L,-5,D,H,E,-1,B,0,C,A
 
        LDDR
 
      INC L
 
      SRL L,L
 
        LD DE,EsLOOP
 
        CALL incCOR
 
      JZ $+4
 
      JNC EDsINVQ
 
        EXD
 
        INC HL
 
      DEC A
 
        ADD A,(HL)
 
        CP E
 
        JC EDsINVQ
 
        CP 63
 
        JNC $+3
 
        INC (HL)
 
        JR EDsINVQ
 
EDsDELLN
 
        CALL EsGadr
 
        LD D,H,A,L
 
        ADD A,4
 
        LD E,A
 
        EXD
 
        XOR A
 
        LD B,A
 
        SUB L
 
        RET Z
 
        LD C,A
 
      LD A,L
 
        LDIR
 
      LD L,A
 
      SRL L,L
 
        LD DE,EsLOOP
 
        CALL decCOR
 
      JNC EDsINVQ
 
        EXD
 
        INC HL
 
        ADD A,(HL)
 
        CP E
 
        JC $+3
 
        DEC (HL)
 
      IFN 0
 
        JR EDsINVQ
 
EDsINV
 
        CALL GsMRK7
 
        LD HL,EsLIN,A,(HL)
 
        ADD A,SMPH
 
        LD (HL),A,DE,EsTOP,A,(DE)
 
        ADD A,SMPH
 
        CP 65-SMPH
 
        JC EDsInE
 
        LD (HL),63
 
        LD A,64-SMPH
 
EDsInE  LD (DE),A
 
      ENDIF
 
EDsINVQ CALL SHOLK
 
        CALL PRSMP
 
GsMRK56
 
        LD E,56
 
        JR GsmpMRK
 
GsMRK7
 
        LD E,7
 
GsmpMRK
 
        LD A,(EsLIN)
 
EsTOP=$+1
 
        SUB 0
 
        ADD A,A,A,A,A,A
 
        LD L,A,H,0,BC,SMPATR;#58E4
 
        ADD HL,HL,HL,HL,HL,BC
 
        LD A,(EsX)
 
        OR A
 
        LD A,5
 
        JZ $+4
 
        LD A,7
 
        ADD A,L
 
        LD L,A
 
        LD (HL),E
 
        INC L
 
        LD (HL),E
 
        RET
 
PRORNos
 
      LD A,(OCT)
 
      ADD A,"0
 
        LD DE,#E11
 
        CALL PRADD
 
        LD A,(EoSMP)
 
        CALL HEXDIG
 
        LD D,#18
 
        JP PRADD
 
PROCORN
 
      LD A,(OCT)
 
      ADD A,"0
 
        LD DE,#1000+SMPH
 
        CALL PRADD
 
        LD A,(EsORN)
 
        CALL HEXDIG
 
        LD D,#1C
 
        JP PRADD
 
PRSMP
 
        LD E,0
 
        LD A,(EsTOP)
 
        ADD A,SMPH
 
        LD (PRSMPe),A
 
        SUB SMPH
 
PRSMP0  PUSH AF,DE
 
        CALL PRSMLIN
 
        POP DE,AF
 
        INC E,A
 
PRSMPe=$+1
 
        CP 0
 
        JNZ PRSMP0
 
        RET
 
PRSMVOL
 
        PUSH DE,AF
 
        CALL PRADDPP
 
        LD D,11+SMPX
 
        CALL DE2SCR
 
        INC H
 
        EXD
 
        LD H,'EDORbf
 
        POP AF
 
        ADD A,A,A,A,A,3
 
        LD L,A,A,(HL)
 
        AND #F
 
        LD (PRSMVa),A
 
        EXD
 
        PUSH AF,HL
 
        LD A,#22,B,7
 
        CALL BLOBER
 
        INC L
 
        DJNZ $-4
 
        LD A,#20
 
        CALL BLOBER
 
        POP HL,AF
 
        LD E,A
 
        RRA
 
        PUSH AF
 
        AND 7
 
        JZ PRVOL7
 
        LD B,A,A,#77
 
PRVOL0  LD D,H
 
      DUP 5
 
        LD (HL),A
 
        INC H
 
      EDUP
 
        LD (HL),A,H,D
 
        INC L
 
        DJNZ PRVOL0
 
PRVOL7  LD A,E
 
        CP #F
 
        LD E,#72
 
        JNZ $+4
 
        LD E,#70
 
        POP AF
 
        LD A,E
 
        CALL C,BLOBER7
 
PRSMVa=$+1
 
        LD A,0
 
        POP DE
 
        LD D,#25
 
        JP D2HEX
 
DQ  LD A,B,(EsLIN),A
 
        JP EDsCQ
 
      IFN 0
 
EDsTRU
 
        CALL GsMRK7
 
        LD HL,EsLIN,A,(HL)
 

Latest revision as of 20:35, 8 March 2020

pt6_371 C��ЦЛ�МН(

MAIN "",#C6
EDORN
        XOR A
        LD (volA),A,(volC),A
        LD BC,mEDORN
        CALL WINDUM
        LD HL,tEDORN,DE,#800
        CALL PRMENU
       ;LD HL,tORNKEY,DE,#12
       ;CALL PRMENU
        LD HL,tORNo_s,DE,#711
        CALL PRMENU
        CALL OUT4
        CALL HLORN
        LD (ornadr),HL
        LD DE,EDORbf
        LD BC,64
        LDIR 
        CALL PRORNos
        LD A,(ORN),HL,TORNSZ
        ADD A,A,A,L
        LD L,A,A,(HL),B,A,(EoLOOP),A
        INC L
        LD A,(HL)
        SUB B
        LD (EoLPlen),A
       PUSH HL
        CALL PRORN
        XOR A
        LD (EoLIN),A,(EoMflag),A
        CALL GornMRK
EDORN0
       CALL RESHALT
        CALL EORNCUR
        CALL EoCHMRK
        CALL EoPRMRK
        CALL EDORNKY
        LD A,(ORN),(piaORN),A
EoSMP=$+1
        LD A,0,(piaSMP),A
        ADD A,A
        LD L,A,H,'TSMPSZ
        LD A,(HL),(piSLOOP),A
        INC L
        LD A,(HL),(piSEND),A
        LD A,(EoLPlen),B,A
        LD A,(EoLOOP),(piOLOOP),A
        ADD A,B
        LD (piOEND),A
        CALL OUT4
        LD HL,EDORbf
ornadr=$+1
        LD DE,0,BC,64
        LDIR 
        CALL PIANO
        CALL TSTFIRE
        JNC EDORN0
       CALL DOWNMER
       POP HL
ORNQU
        LD A,(EoLOOP),B,A
        LD A,(EoLPlen)
ORNQ    ADD A,B
        LD (HL),A
        DEC L
        LD (HL),B
       CALL CLOSWIN
       LD A,(OCT)
       JP PROCT
HEXDIG
        ADD A,"0
        CP ":
        RET C
        ADD A,"A"-":
        RET 
PRMEMOS
memol=$+1
        LD DE,#60E
        CALL PRMEMO
        LD HL,Tmemo
memo=$+1
        LD B,0
        DJNZ $+4
        LD D,6
        DJNZ $+4
        LD D,11
        DJNZ $+4
        LD D,#E+2
        DJNZ $+4
        LD D,#18+8
        DJNZ $+4
        LD D,#22+14
        LD (memol),DE
        JP PRMENU
EPsseP
        LD A,(CURX)
        LD E,1
        LD BC,#200
        CP 4
        RET C
        INC E
        LD BC,#102
        CP 6
        RET C
        LD BC,#503
        INC E
        CP 11+4
        RET C
        LD C,8
        INC E
        CP 16+8
        RET C
        LD C,13
        INC E
        RET 
EPsse
        CALL EPsseP
        LD A,E,(memo),A
        PUSH BC
        CALL PRMEMOS
        LD A,(EPAT),B,A,C,0
        CALL GETnADR
        LD DE,BUF
        LD BC,#480
        LDIR 
        CALL OUT6
        LD HL,BUF
        POP BC
        LD A,B,B,0
        ADD HL,BC
        LD C,A
        LD DE,MEMOBUF
        LD A,64
EPsse0  PUSH BC
        PUSH HL
        LDIR 
        POP HL
        LD C,18
        ADD HL,BC
        POP BC
        DEC A
        JNZ EPsse0
        RET 
EPssr
        CALL EPsseP
        LD A,(memo)
        CP E
        JZ EPssrE
        CP 3
        RET C
        LD A,E
        CP 3
        RET C
EPssrE
        PUSH BC
        LD A,(EPAT)
        LD B,A,C,0
        CALL GETnADR
        LD (EPssrDE),HL
        LD DE,BUF
        LD BC,#480
        LDIR 
        LD A,(pg) ;pat
        EXA 
        CALL OUT6
        LD HL,BUF
        POP BC
        LD A,B,B,0
        ADD HL,BC
        LD C,A
        LD DE,MEMOBUF
        EXD 
        LD A,64
EPssr0  PUSH BC
        PUSH DE
        LDIR 
        POP DE
        EXD 
        LD C,18
        ADD HL,BC
        EXD 
        POP BC
        DEC A
        JNZ EPssr0
        EXA 
        CALL OUTME
        LD HL,BUF
EPssrDE=$+1
        LD DE,0
        LD BC,#480
        LDIR 
        JP PRPATU
EXCHANG
        CALL FROMSZ
        PUSH AF
        LD A,(pat1)
        LD B,A
        CALL GETnADR
        PUSH HL
        POP IX
        CALL CHN1PP
        ADD HL,BC
        LD A,(chn2)
        LD C,3
        DEC A
        JZ EXCHX2
        LD C,8
        DEC A
        JZ $+4
        LD C,13
EXCHX2  ADD IX,BC
        POP AF
EXCH0   EXA 
        PUSH HL
        LD DE,BUF
        LD BC,5
        LDIR 
        POP DE
        PUSH DE,IX
        POP HL
        LD C,5
        LDIR 
        LD HL,BUF
        PUSH IX
        POP DE
        LD C,5
        LDIR 
        POP HL
        LD C,18
        ADD HL,BC
        ADD IX,BC
        EXA 
        DEC A
        JNZ EXCH0
        JP PRPATO
CATBAR
        LD HL,#48B5
        XOR A
        LD (CATBf),A
        LD B,A,C,A
        LD E,#81
        LD A,(catH)
        OR A
        JNZ CATBNZ
        INC A
        LD D,A
        JR CATBARP
CATBNZ  ADD A,A
        DEC A
        LD D,A
        LD A,(cattop)
        OR A
        CALL NZ,CATBARP
        LD E,#BD
        LD A,(catH)
        CP 9
        JC CATBARP
        LD A,8
        CALL CATBARP
        LD A,(catH)
cattop=$+1
       SUB 0
       SUB 8
        LD E,#81
        RET Z
CATBARP EXA 
CATBf=$+1
CATBAR0 LD A,0
        XOR -1
        LD (CATBf),A
        JZ $+6
        LD (HL),E
        CALL DHL
        SCF 
        LD A,C
        ADC A,D
        LD C,A
        JNC CATBAR0
        EXA 
        DEC A
        JNZ CATBARP
        RET 
USEBAR
        LD A,(catH)
       CP 9
        RET C
        EXA 
        CALL FIRE
        RET Z
        LD A,(ARX)
        SUB #A8
        CP 8
        RET NC
        LD A,(ARXY)
        SUB #68
        CP #40
        RET NC
        LD L,A
        XOR A
        LD (USEBf),A
        LD E,A,C,A,H,A
        LD A,(catH)
        ADD A,A
        DEC A
        LD D,A
USEBAR0 LD A,E
        CP L
        JNC USEBok
USEBf=$+1
USEBAR1 LD A,0
        XOR -1
        LD (USEBf),A
        JZ $+3
        INC E
        SCF 
        LD A,C
        ADC A,D
        LD C,A
        JNC USEBAR1
        INC H
        JR USEBAR0
USEBok  LD B,0
        EXA 
        LD C,A
        OR A
        RET Z
        SUB 9
        JC USEBARQ
        LD B,H,A,H
        ADD A,7
        CP C
        JC $+6
        LD A,C
        SUB 8
        LD B,A
USEBARQ LD A,B,(cattop),A
        JP PRCAT
AUDATER
        LD C,#7F
        LD DE,AUTO2
        LD A,(DE)
        CP C
        JZ AUDnS
        AND #80
        LD B,A
        LD A,(HL)
        AND C
        OR B
        LD (HL),A
        INC HL,HL,HL
        LD A,(DE)
        AND #7F
        RRCA 
        RRCA 
        RRCA 
        RRCA 
        LD B,A
        LD A,(HL)
        AND #F
        OR B
        LD (HL),A
        JR $+5
AUDnS   INC HL,HL,HL
        INC DE
        LD A,(DE)
        CP C
        JZ AUDnT
        LD B,A
        LD A,(HL)
        AND #F0
        OR B
        LD (HL),A
AUDnT   INC DE,HL
        LD A,(DE)
        CP C
        JZ AUDnO
        RRCA 
        RRCA 
        RRCA 
        RRCA 
        LD B,A
        LD A,(HL)
        AND #F
        OR B
        LD (HL),A
AUDnO   INC DE
        LD A,(DE)
        CP C
        RET Z
        LD B,A
        LD A,(HL)
        AND #F0
        OR B
        LD (HL),A
        RET 
AENVER
        CP E
        JZ AEnres
        LD HL,ead
        RES 7,(HL)
        INC L
        RES 7,(HL)
AEnres
AENVFRQ=$+1
        LD HL,0
AENVnot=$+1
       LD DE,0
        INC HL,HL,HL
        LD A,(HL)
       AND 9
       SUB 8
        RET NZ
       OR E
       RET Z
div=$+1
        LD B,0
        LD A,23
        DJNZ $+4
        LD A,28  ;3:4
        DJNZ $+4
        LD A,35  ;1:2
        DJNZ $+4
        LD A,47  ;1:4
        DJNZ $+4
        LD A,4   ;3:1
        DJNZ $+4
        LD A,7   ;5:2
        DJNZ $+4
        LD A,11  ;2:1
        DJNZ $+4
        LD A,16  ;3:2
        ADD A,E
        LD B,0
        INC B
        SUB 12
        JNC $-3
        LD E,A
;00,01->+0
;10,11->+1
        LD HL,FrTab+24-512
        ADD HL,DE,HL,DE
        LD A,(HL)
        INC L
        LD E,(HL)
        SRL E
        RRA 
        DJNZ $-3
        ADC A,D
        LD D,A
AENVadr=$+2
        LD (0),DE
        RET 
EPdelln
        CALL XPPSCF
        RET NC
        LD HL,(CURY),H,L
        INC L
        LD A,201,(COPQJP),A
        CALL EPdellnP
        LD A,195,(COPQJP),A
        CALL PRPATU
        JR TSTNROL
TSTnSSL
        LD A,(ead)
        RLA 
        JC AEskip
        LD A,(HL)
        AND #80
        OR D
        LD (HL),A
AEskip
       LD A,D
TSTSSLQ
       LD (AENVnot),A
        INC E
        JZ TSTNQ
auto=$+1
        LD A,-1
        OR A
        CALL Z,AUDATER
        LD A,(ead)
        RLA 
        SBC A,A
        CPL 
aenv=$+1
        LD E,-1
        AND E
        CALL Z,AENVER
TSTNQ   CALL PRCU7
       ;LD A,(EPAT),B,A
       ;LD A,(CURY),E,#13
       ;CALL STROKA
       CALL PRPATUU
        LD A,(23560)
        CP kL
        JZ $+4
        CP kssL
        CALL NZ,PLNOTE
TSTNROL LD A,(roll)
        OR A
        LD L,A ;на сколько строк вниз
        JP NZ,ROLLPATFON
        LD HL,CURX
       LD A,(HL)
       CP 3
       RET Z
       CP 5
       RET NC
       ;LD A,2;(curite)
       ;CP (HL)
       ;RET C
        INC (HL)
        RET 
TSTNnot
        LD (AENVadr),HL
        XOR A
        LD B,A
        ADD HL,BC
        LD (AENVFRQ),HL
        LD E,-1
        OR D
        JZ TSTnNOT
        CP 97
        JNC TSTnNOT
        INC E
       CP 25
       LD A,(HL)
       RES 7,A
       JZ TSTSSLQ
        CALL NotOct
TSTnNOT
       ;LD A,D
        SUB 99
        JZ TSTk
        INC A
        JP NZ,TSTnSSL
        LD (HL),A
        INC HL
        LD (HL),A
        INC HL
        LD (HL),A
TSTk    INC HL
        LD (HL),A
        INC HL
        LD (HL),A
        LD (IY-50),kssL
        JP TSTSSLQ
EPdellnP
        LD A,64
        SUB H
        LD DE,(EPAT),D,A,A,E
        DEC BC
        LD B,C
        RET Z
        JP COPYU
EPins
        CALL XPPSCF
        RET NC
        LD HL,(CURY),H,L
        INC H
        CALL EPdellnP
       LD A,(chnall)
       OR A
       JZ insNALL
       LD BC,(CURY)
       CALL GETnADR
       EXD 
       LD HL,BUF+#480 ;тут нули
       LD BC,18
       LDIR 
insNALL HALT 
        LD (IY-50),kssL
TSTNOTE
        LD BC,(CURY)
        CALL GETnADR
        CALL NOTEKEY
        BIT 7,D
        CALL Z,XPPSCF
        DEC BC
        JZ TSTNnot
       LD A,D
       CP 98
       JZ $-5
        CALL RECHEX
        INC D
        JNZ TSTnDIG
        LD C,D,B,D,D,A
        LD A,(CURX)
        OR A
        CALL TSTnPP+2
        CALL TSTnP
        LD C,6
        CALL TSTnPP
        LD C,4
        CALL TSTnPP+1
        LD C,11
        CALL TSTnPP
        LD C,9
        CALL TSTnPP+1
        LD C,16
        CALL TSTnPP
        LD C,14
        CALL TSTnPP+1
TSTnDIG
       LD A,D
       CP 9
       JZ EVENODD
        CALL RECopq
        INC D
        RET NZ
        LD D,A
        OR A
        CALL XPP
        RET NZ
        INC C,C
        LD B,0
        ADD HL,BC
       LD A,(HL)
       LD (HL),D
       RLD 
        SCF 
        JR TSTs0
EVENODD
        LD HL,COPSCF
        LD A,(HL)
        XOR 128
        LD (HL),A
        LD HL,#485A
        LD C,2
        CALL INVSYMS
        POP AF
        RET 
;2(EDSONG,EPEXT)
MELINV
        LD HL,#40EA
        LD C,6
INVSYMS
        PUSH HL
        LD B,8
invsym0 LD A,(HL)
        CPL 
        LD (HL),A
        INC H
        DJNZ invsym0
        POP HL
        INC L
        DEC C
        JR NZ,INVSYMS
        RET 
TSTL
        POP AF
        ADD HL,BC
       LD A,(HL)
       LD (HL),D
       RLD 
       OR A
        CALL XPP
        JZ TSTs0-1
       CP -7
       JNZ tstnq
       LD A,(CURX)
       OR A
       JZ tstnq
        LD A,D
        OR A
        JZ tstnq
       PUSH AF
       LD A,(ORN)
       LD (ORN2),A
       XOR A
       CALL ONCORN2
       POP AF
        LD (ORN),A
        XOR A
        CALL ONCORN
tstnq   JP TSTNQ
        OR A
TSTs0   DEC HL,HL,HL
        RL (HL)
        RRC (HL)
        LD A,(HL)
        RRA 
        RRA 
        RRA 
        AND 16
        OR D
        JZ tstnq
       PUSH AF
       LD A,(smp)
       LD (SMP2),A
       XOR A
       CALL ONCSMP2
       POP AF
        LD (smp),A
        XOR A
        CALL ONCSMP
        JP tstnq
TSTnPP
        DEC A,A
        JZ TSTL
        DEC A
        JZ TSTR
TSTnP   INC BC
        DEC A
        JZ TSTL
        DEC A
        RET NZ
TSTR    POP AF
        ADD HL,BC
        LD A,(HL)
        AND #F0
        OR D
        LD (HL),A
        JP TSTNQ
RECopq
        LD DE,"O
        LD A,(23560)
        CP ";
        JZ RECopY
        CP E
        RET Z
        INC E
        CP #22
        JZ RECopY
        CP E
        RET Z
        CP "G
        RET C
        CP "W
        RET NC
        LD E,A
        XOR "Q
        CALL Z,8026
        RET C
RECopY  LD A,E
        SUB "G
        DEC D
        RET 
RECHEX
        LD D,0
        LD A,(23560)
        CP "0
        RET C
        CP "G
        RET NC
        CP ":
        JNC $+6
        SUB "0
        DEC D
        RET 
        CP "A
        RET C
        SUB #37
        DEC D
        RET 
D0TO_
        LD A,(HL)
        CP "0
        JC d0TO0
        CP ":
        JNC $+5
        SUB "0
        RET 
        CP "A
        JC d0TO0
        CP "G
        JNC $+5
        SUB #37
        RET 
d0TO0   LD (HL),"-
        LD A,#7F
        RET 
ENVFL
        LD HL,ead,A,(HL)
        XOR 128
        LD (HL),A
        INC L
        LD (HL),A
        RET 
TSTOCT
        LD A,(23560)
        CP kE
        JZ ENVFL
        SUB "1
        CP 9
        RET NC
       ;CALL NEWOCT
       ;JP SHOLK
;NEWOCT
        AND 7
        INC A
        LD (OCT),A
;1
PROCT   LD DE,#D08
        JP PRBCD
POSEDIT
        LD BC,mPOS
        CALL WINDUM
        LD HL,tPOS
        LD DE,0
        CALL PRMENU
        XOR A
        LD (EpMflag),A
        LD (EpY),A
        LD A,(POS)
        CALL EDPOSR
POSED0
       CALL RESHALT
        LD A,#28
        CALL EpPRCUR
        CALL EDPOSKY
        LD A,5
        CALL EpPRCUR
        CALL EpCHMRK
        CALL EpPRMRK
        CALL TSTFIRE
        JNC POSED0
        LD A,(EsTOP),B,A
        LD A,(EpY)
        ADD A,B
        LD (POS),A
        LD L,A,H,'TPOSS
        LD A,(HL),(EPAT),A
        LD L,A
        INC H
        LD A,(HL),(PATLEN),A
        CALL CLOSWIN
        CALL POSFON
        JP PRPAT
EpPRMRK
        LD HL,#58C3
        LD BC,(LOOP)
        LD DE,32
        LD A,(EsTOP)
        EXA 
        LD A,16
EpPRMR0 EXA 
        CP C
        JNC EpPRMR1+1
EpPRMRQ LD (HL),#28
        INC A
        EXA 
        ADD HL,DE
        DEC A
        JNZ EpPRMR0
        RET 
EpPRMR1 EXA 
        CP B
        JNC EpPRMRQ
        LD (HL),#55
        INC A
        EXA 
        ADD HL,DE
        DEC A
        JNZ EpPRMR1
        RET 
EpCHMRK
        LD A,(EpMflag)
        OR A
        CALL NZ,EpCHEND
        LD A,(NOPKA)
        OR A
        RET Z
        XOR A
EpMflag=$+1
        CP 0
        JNZ EpCHMRQ
        CALL EpARPOS
        RET C
        LD (LOOP),A
        CPL 
EpCHMRQ LD (EpMflag),A
        RET 
EpCHEND CALL EpARPOS
        RET C
        LD HL,LOOP
        CP (HL)
        JNC $+3
        LD A,(HL)
        INC A,HL
        LD (HL),A
        RET 
;1
EsCHMRK
        LD A,(EsMflag)
        OR A
        CALL NZ,esCHEND
        LD A,(NOPKA)
        OR A
        RET Z
        XOR A
EsMflag=$+1
        CP 0
        JNZ esCHMRQ
        CALL EsARPOS
        RET C
        LD (EsLOOP),A
        CPL 
esCHMRQ LD (EsMflag),A
        RET 
esCHEND
        CALL EsARPOS
        RET C
       LD HL,EsLOOP
       SUB (HL)
        RET C
        INC A
        LD (EsLEN),A
        RET 
;1
EoCHMRK
        LD A,(EoMflag)
        OR A
        CALL NZ,eoCHEND
        LD A,(NOPKA)
        OR A
        RET Z
        XOR A
EoMflag=$+1
        CP 0
        JNZ eoCHMRQ
        CALL EoARLOP
        RET C
        LD (EoLOOP),A
        CPL 
eoCHMRQ LD (EoMflag),A
        RET 
eoCHEND CALL EoARLOP
        RET C
        LD HL,EoLOOP
        SUB (HL)
        RET C
        INC A
        LD (EoLPlen),A
        RET 
EpARPOS
        LD BC,#610
        LD L,3
        JR psARPOS
EsARPOS
        LD BC,SMPY+1<8+SMPH
        LD L,1+SMPX
psARPOS LD A,(ARXY)
        RRA 
        RRA 
        RRA 
        AND 31
        SUB B
        CP C
        CCF 
        RET C
        LD C,A
        LD A,(ARX)
        RRA 
        RRA 
        RRA 
        AND 31
        CP L
        JNZ SCFRET
        LD A,(EsTOP)
        ADD A,C
        RET 
EoARLOP
        LD A,1
EoARPOS
        LD E,A
        LD HL,(ARXY)
        LD A,L
        RRA 
        RRA 
        RRA 
        AND 31
        SUB 3
        RET C
        CP 16
        CCF 
        RET C
        LD D,A
        LD A,H
        RRA 
        RRA 
        RRA 
        AND 31
        LD BC,#400
EoARp0  CP E
        JZ EoARpQ
        SUB 4
        INC C
        DJNZ EoARp0
SCFRET  SCF 
        RET 
EoARpQ  LD A,C
        ADD A,A,A,A,A,A,A,A,A,D
        RET 
decCOR
        LD A,(DE)
        CP L
        RET C
        DEC A
        LD (DE),A
        RET 
incCOR
        LD A,(DE)
        CP L
        RET C
        RET Z
        INC A
        RET Z
        LD (DE),A
        RET 
EDPOSB
        CALL EpGadr
        LD (LOOP),A
        RET 
EDPOSE
        CALL EpGadr
        LD (LENG),A
        RET 
EpPRCUR
        EXA 
        LD A,(EpY)
        ADD A,A,A,A,A,A,A,A
        LD L,A,H,0
        ADD HL,HL
        LD DE,#58C6
        ADD HL,DE
        EXA 
        LD (HL),A
        INC L
        LD (HL),A
        INC L
        LD (HL),A
        RET 
EpGadr
        LD A,H
        ADD A,L
        LD L,A
        LD H,'TPOSS
        RET 
EDPOSDQ
        LD (EpY),A
        JP SHOLK
EDPOSKY
        CALL BIT5
        RET Z
        LD HL,(EsTOP)
EpY=$+1
        LD H,0
        CALL RECHEX
        INC D
        JZ EDpDIG
        LD A,(23560)
        CP "K
        JZ EDPOSB
        CP "L
        JZ EDPOSE
        SUB 8
        JNZ EDPOSNL
        LD A,L
        SUB 15
        JNC $+3
        XOR A
        JR EDPOSTO
EDPOSNL DEC A
        JNZ EDPOSNR
        LD A,L
        ADD A,15
EDPOSR  CP -16
        JC $+4
        LD A,-16
        JR EDPOSTO
EDPOSNR DEC A
        JNZ EDPOSND
        LD A,H
        INC A
        AND 15
        JNZ EDPOSDQ
        LD A,L
        INC A
        CP -15
        RET Z
        JR EDPOSTO
EDPOSND DEC A
        JNZ EDPOSNU
        LD A,H
        DEC A
        JP P,EDPOSDQ
        LD A,L
        SUB 1
        RET C
EDPOSTO LD (EsTOP),A
        JR PRPOS
EDPOSNU CP kDelLn-11
        JNZ EDpNdelln
        CALL EpGadr
        LD D,H,E,L
        INC L
        RET Z
        PUSH HL
        LD A,(HL),(DE),A
        INC E,L
        JNZ $-4
        POP HL
        LD DE,LOOP
        CALL decCOR
        LD DE,LENG
        CALL decCOR
        JR PRPOS
EDpDIG
        LD D,A
        CALL EpGadr
        LD A,(HL)
        LD B,4
        ADD A,A
        JC EpDIGo
        DJNZ $-3
        ADD A,D
        CP PATS
        JC $+3
EpDIGo  LD A,D
        LD (HL),A
PRPOS
        LD HL,(EsTOP),H,'TPOSS
        LD A,16,DE,#41C3
PRPOS0  PUSH AF,DE
        LD A,L
        PUSH HL
        CALL PRF8
        POP HL
        INC E,E,E
        LD A,(HL)
        INC L
        PUSH HL
        CALL PRF8
        POP HL,DE
        LD A,D
        ADD A,6
        LD D,A
        CALL DDE
        INC D
        POP AF
        DEC A
        JNZ PRPOS0
        JP SHOLK
EDpNdelln
        CP 201-11
        RET NZ
        CALL EpGadr
        XOR -1
        RET Z
        PUSH HL
        LD C,A,B,0
        LD DE,bf240
        PUSH HL,DE
        LDIR 
        LD C,A
        POP HL,DE
        INC E
        LDIR 
        POP HL
        LD DE,LOOP
        CALL incCOR
        LD DE,LENG
        CALL incCOR
        JR PRPOS
EoGadr
EoLIN=$+1
        LD A,0
ornADR=$+1
        LD HL,EDORbf
        ADD A,L
        LD L,A
        LD A,(HL)
        RET 
EDOR_p
        POP AF,HL
        CALL ORNQU
        CALL DECORN ;+print
        JP EDORN
EDOR_n
        POP AF,HL
        CALL ORNQU
        CALL INCORN ;+print
        JP EDORN
EDORNKY
        CALL BIT5
        RET Z
        LD B,1
       CP 4
       JZ EDOR_p
       CP 5
       JZ EDOR_n
        CP 172;i
        JZ EDORSMP
        CP "E
        JZ EDORNUM
        LD B,-1
        CP 197;u
        JZ EDORSMP
        CP "W
        JZ EDORNUM
        LD B,12
        CP "T
        JZ EDORNUM
        LD B,-12
        CP "R
        JZ EDORNUM
        CP "0
        JZ EDOR0
        CP kIns
       JZ EDoINS
        CP kDelLn
       JP Z,EDoDELLN
        CP "K
       JP Z,EDoBEG
        CP "L
       JP Z,EDoEND
        CP "+
        JZ EDoPLU
       SUB "0;1
       CP 9;8
        RET NC
       LD (OCT),A
EDORSq  CALL PRORNos
        JP SHOLK
EDoPLU  CALL EoGadr
        JR EDORNEG
EDORSMP
        LD HL,EoSMP,A,(HL)
        ADD A,B
        AND 31
        LD (HL),A
        JR EDORSq
EDORNUM
        CALL EoGadr
        ADD A,B
        LD B,0
        JP P,$+6
        INC B
        NEG 
       AND 127
       CP 96
       JC $+4
       LD A,96
        DJNZ $+4
EDORNEG
        NEG 
        LD (HL),A
        CALL ORNline
        JP SHOLK
EDOR0
        CALL EoGadr
        XOR A
        JR EDORNEG
EDoINS
        CALL EoGadr
        LD A,63
        SUB L
        RET Z
        LD L,62,E,63,D,H,B,0,C,A
        LDDR 
       INC L
        LD DE,EoLOOP
        CALL incCOR
       JZ $+4
       JNC EDoz
        EXD 
        INC HL
       DEC A
        ADD A,(HL)
        CP E
        JC EDoz
        CP 63
        JNC $+3
EDoINSQ INC (HL)
        JR EDoz
EDoDELLN
        CALL EoGadr
        LD D,H,E,L
        INC L
        LD A,64
        SUB L
        RET Z
        LD B,0,C,A,A,L
        LDIR 
        LD L,A
        LD DE,EoLOOP
        CALL decCOR
       JNC EDoz
        EXD 
        INC HL
        ADD A,(HL)
        CP E
        JC EDoz
        DEC (HL)
        JZ EDoINSQ
EDoz
        CALL PRORN
        JP SHOLK
EDoBEG
        LD A,(EoLIN)
       LD HL,EoLOOP
EDoBEGQ LD C,(HL)
       LD (HL),A
       INC HL
       SUB C
       NEG 
       ADD A,(HL)
       LD (HL),A
        RET 
EDoEND
        LD HL,EoLOOP
        LD A,(EoLIN)
        SUB (HL)
        INC HL
        LD (HL),A
        RET 
EDsBEG
        LD A,(EsLIN)
       LD HL,EsLOOP
       JR EDoBEGQ
EDsEND
        LD HL,EsLOOP
        LD A,(EsLIN)
        SUB (HL)
        INC HL
        LD (HL),A
        RET 
PRORN
        LD HL,EDORbf
        LD E,1,C,16
PRORN0  PUSH HL
        LD D,1,B,4
PRORN1  PUSH BC
        LD A,L
        CALL toOO
        INC D,D
        PUSH HL
        LD A,(HL),L,A
        OR A
        LD B,"+
        CALL M,NEGHL-2
        LD A,B
        CALL PRADD
        INC D
        LD A,L
        CALL toOO
        INC D,D,D
        POP HL
        LD BC,16
        ADD HL,BC
        POP BC
        DJNZ PRORN1
        INC E
        POP HL
        INC L
        DEC C
        JNZ PRORN0
        RET 
EORNCUR
        CALL BIT5
        RET Z
        SUB 8
        LD B,-16
        JZ EORNC
        DEC A
        LD B,16
        JZ EORNC
        DEC A
        LD B,1
        JZ EORNC
        DEC A
        LD B,-1
        RET NZ
EORNC   LD A,(EoLIN)
        ADD A,B
        AND 63
EORNCQ  EXA 
        LD E,7
        CALL GornMRK+2
        EXA 
        LD (EoLIN),A
        LD HL,SHOLK
        PUSH HL
GornMRK LD E,56,A,(EoLIN)
        LD BC,16
        LD H,B
        INC B
        SUB C
        JNC $-2
        ADD A,C,A,3
        ADD A,A,A,A,A,A
        LD L,A
        ADD HL,HL,HL,HL
        LD A,H
        SUB -88
        LD H,A,A,B
        ADD A,A,A,A
        SUB 2
        OR L
        LD L,A,(HL),E
        INC L
        LD (HL),E
        RET 
ORNline
        LD A,(EoLIN),BC,16
        INC B
        SUB C
        JNC $-2
        ADC A,C
        LD E,A,A,B
        ADD A,A,A,A,A,A
        SUB 4
        LD D,A
        LD HL,(ornADR)
        LD A,(EoLIN)
        ADD A,L
        LD L,A,A,(HL),L,A
        OR A
        LD B,"+
        CALL M,NEGHL-2
        LD A,B
        CALL PRADD
        INC D
        LD A,L
        JP toOO
EoPRMRK
        LD A,(NOPKA)
        OR A
        LD A,3
        CCF 
        CALL NZ,EoARPOS
        CALL NC,EORNCQ
EoLOOP=$+1
EoLPlen=$+2
        LD BC,0,DE,32
        XOR A
        LD HL,#5861
PRoLP0  CP C
        JZ PRoLPQ
        LD (HL),5
        CALL PRoLPP
        JNZ PRoLP0
        RET 
PRoLPQ  LD (HL),#5D
        CALL PRoLPP
        RET Z
        DJNZ PRoLPQ
        JR PRoLP0
PRoLPP  INC A
        PUSH AF
        AND 15
        JNZ PRoLPE
        LD A,L
        AND 31
        LD H,88
        ADD A,#44
        LD L,A
PRoLPE  ADD HL,DE
        POP AF
        AND 63
        RET 
EsPRMRK
        LD HL,SMPATR+1;#58E5
EsLOOP=$+1
EsLEN=$+2
        LD BC,#100,A,C
        ADD A,B
        LD B,A,DE,32
        LD A,(EsTOP)
        EXA 
        LD A,SMPH
EsPRMR0 EXA 
        CP C
        JNC EsPRMR1+1
EsPRMRQ LD (HL),5
        INC A
        EXA 
        ADD HL,DE
        DEC A
        JNZ EsPRMR0
        RET 
EsPRMR1 EXA 
        CP B
        JNC EsPRMRQ
        LD (HL),#5D
        INC A
        EXA 
        ADD HL,DE
        DEC A
        JNZ EsPRMR1
        RET 
EDSMORN
        LD HL,EsORN,A,(HL)
        ADD A,C
        AND #F
        LD (HL),A
        JR EDSMOq
EDSM_p
        POP AF,HL
        CALL SMPQU
        CALL DECSMP
        JP EDSMP
EDSM_n
        POP AF,HL
        CALL SMPQU
        CALL INCSMP
        JP EDSMP
EDSMPKY
        CALL FIRE
        JP NZ,EDSMPFI
        XOR A
        LD (EDSMFIh),A
        CALL BIT5
        RET Z
       CP 4
       JZ EDSM_p
       CP 5
       JZ EDSM_n
        LD BC,32
        CP "R
        JZ EDSMNUM
        LD C,1
        CP 172;i
        JZ EDSMORN
        CP "W
        JZ EDSMNUM
        DEC BC,BC
        CP 197;u
        JZ EDSMORN
        CP "E
        JZ EDSMNUM
        LD C,-32
        CP "T
        JZ EDSMNUM
        CP "0
        JZ EDSM0
        CP "+
        JZ EDsPLU
       SUB "0;1
       CP 9;8
        RET NC
       LD (OCT),A
EDSMOq  CALL PROCORN
        JP SHOLK
EsX=$+1
EDsPLU  LD A,0
        INC A
        RET Z
        CALL EsGadr
        PUSH HL
        POP IX
        LD L,(IX),H,(IX+1)
        CALL NEGHL
        JR EDSMNQ
EDSM0
        CALL EsGadr
        LD A,(EsX)
        INC A
        JNZ EDsNOI0
        INC L,L
        LD A,(HL)
        AND #E0
        LD (HL),A
        JR EDsNOIQ
EDsNOI0 XOR A
        LD (HL),A
        INC L
        LD (HL),A
        JR EDSMKQ
EDSMNUM
        LD A,(EsX)
        INC A
        JZ EDSMNOI
        CALL EsGadr
        PUSH HL
        POP IX
        LD L,(IX),H,(IX+1)
        ADD HL,BC
        LD A,H
        OR A
        LD B,#F
        JP P,EDSMNOK
        CALL NEGHL
        LD A,H
        AND B
        LD H,A
        CALL NEGHL
        JR $+4
EDSMNOK AND B
        LD H,A
EDSMNQ  LD (IX),L,(IX+1),H
EDSMKQ  CALL EsPRNUM
        JP SHOLK
EDSMNOI
        CALL EsGadr
        INC L,L
        LD A,(HL)
        SUB C
        XOR (HL)
        AND 31
        XOR (HL)
        LD (HL),A
EDsNOIQ CALL EsPRNOI
        JP SHOLK
EsGadr
        LD H,'EDORbf,A,(EsTOP),D,A
EsLIN=$+1
        LD A,0
        PUSH AF
        SUB D
        LD E,A
        POP AF
        ADD A,A,A,A
        LD L,A
        RET 
;3
PRSMLIN
        PUSH AF,AF
        LD D,1
        CALL toOO
        LD D,8
        POP AF
        ADD A,A,A,A
        LD HX,'EDORbf,LX,A
        LD A,(IX+1)
        OR A
        LD L,(IX),H,(IX+1)
        LD B,"+
        CALL M,NEGHL-2
        LD A,"+"+"-
        SUB B
        CALL PRADD
        INC D
        CALL toOOOO
        INC D,D
        LD A,(IX+2)
        PUSH AF
        AND 31
        CALL toOO
        INC D,D
        POP AF
        CALL PRTNE
        LD A,(IX+3)
        CALL PRVTN
        POP AF
        JP PRSMVOL
EsPRNUM
        CALL EsGadr
        LD D,8,A,(HL)
        INC L
        LD H,(HL),L,A,A,H
       RLA 
        LD B,"-
       JNC $+7
        LD B,"+
        CALL NEGHL
        LD A,B
        CALL PRADD
        INC D
        JP toOOOO
EsPRNOI
        CALL EsGadr
        ADD A,2
        LD L,A,D,#E,A,(HL)
        AND 31
        JP toOO
TNEVTN
        LD H,'EDORbf
TNEVTNl=$+1
        LD L,0
TNEVTNy=$+1
        LD DE,#1100
        LD A,(HL)
        INC HL
        LD B,(HL)
        PUSH BC
        CALL PRTNE
        POP AF
        JR PRVTN
PRTNE
        LD L,A,H,"-
        AND #80
        LD A,"T
        JZ $+3
        LD A,H
        CALL PRADD
        INC D
        LD A,L
        AND 64
        LD A,"N
        JZ $+3
        LD A,H
        CALL PRADD
        INC D
        LD A,L
        AND 32
        LD A,"E
        JZ $+3
        LD A,H
        JP PRADD
PRVTN
        LD D,4,C,A
        RLA 
        LD A,"0
        JNC PRVTN0
        BIT 6,C
        LD A,"-
        JZ $+4
        LD A,"+
PRVTN0  CALL PRADD
        LD A,32
        CALL PRVTNPP
        LD A,16
PRVTNPP AND C
        LD A,"0
        JZ $+4
        LD A,"+
        INC D
        JP PRADD
EsFITN
        LD B,32
        CP SMPX<3+#1C
        JC $+7
EsFIfN  LD B,16
        CP 64
        RET NC
        INC HL
        LD A,(HL)
        XOR B
        JR EsFIVTQ
EsFIx
        SBC A,A
        EXA 
        CALL GsMRK7
        LD A,(EsFIlin),(EsLIN),A
        EXA 
        LD (EsX),A
        CALL GsMRK56
        JP SHOLK
EsNfix
        CALL EDSMFIp
        XOR A
        JR EsFIfN
EsTfix
        CALL EDSMFIp
        XOR A
        JR EsFITN
EsAfix
        CALL EDSMFIp
        JR EsFIV
EsTi
        CALL EDSMFIp
        XOR A
        JR Es_T
EsNi
        CALL EDSMFIp
        XOR A
        JR Es_N
EsEi
        CALL EDSMFIp
        JR Es_E
EsFIVTN
        CP SMPX<3+#38
        CCF 
        JC EsFIx ;смещ.шума
        CP SMPX<3+#28
        JNC EsFIx ;цикл
        CP SMPX<3+#14
        RET C ;слева от VTN
        CP SMPX<3+#18
        JNC EsFITN
EsFIV   INC HL
        LD A,(HL),C,A
        LD B,#80
        AND B
        JNZ $+6
        LD A,C
        OR B
        JR EsFIVTQ
        LD A,C
        XOR 64
        LD C,A
        AND 64
        LD A,C
        JNZ $+4
        AND 63
EsFIVTQ LD (HL),A
        JR EsFIQ
EDSMPFI
        LD HL,(ARXY),A,L
        SUB SMPY+1<3;#38
        CP SMPH<3
        RET NC
        RES 0,H,1,H
        RRA 
        RRA 
        RRA 
        AND #1F
        LD B,A
        CP 0
        LD ($-1),A
        LD A,H
        JNZ EDSMFIn
EDSMFIh=$+1
        CP 0
EDSMFIn LD ($-1),A
        RET Z
       CALL EDSMFIP
        CP SMPX<3+#48
        JC EsFIVTN
        CP SMPX<3+#54
        JNC EsFIVOL
Es_T    LD B,#80
        CP SMPX<3+#4C
        JC EsFINUM
Es_N    LD B,64
        CP SMPX<3+#50
        JC $+4
Es_E    LD B,32
EsFINUM LD A,(HL)
        XOR B
        LD (HL),A
EsFIQ   CALL TNEVTN
        JP SHOLK
EDSMFIp
        LD A,(EsLIN),HL,EsTOP
        SUB (HL)
        LD B,A
EDSMFIP LD A,(EsTOP)
        ADD A,B
        LD (EsFIlin),A
        ADD A,A,A,A,A,2
        LD L,A,(TNEVTNl),A
        LD A,B
EDSpQ   LD (TNEVTNy),A
        LD A,H,H,'EDORbf
        RET 
EsVOLi
        CALL EDSMFIp
        INC HL
        LD A,(HL)
        INC A
        JR EsVOLQ
EsVOLd
        CALL EDSMFIp
        INC HL
        LD A,(HL)
        DEC A
        JR EsVOLQ
EsFIVOL
        SUB SMPX<3+#54
        CP #40
        RET NC
        RRA 
        RRA 
        INC HL
EsVOLQ  AND #F
        LD E,A,A,(HL)
        AND #F0
        OR E
        LD (HL),A
        LD A,(TNEVTNy),E,A
EsFIlin=$+1
        LD A,0
        CALL PRSMVOL
        JP SHOLK
EDsSCUP
        LD DE,SMPATR&#300<3+.SMPATR+#4001+SMPX
        LD HL,SMPATR+32&#300<3+.(SMPATR+32)+#4001+SMPX
        LD A,SMPH<3-8
EDsSCU0
        CALL EDsLDI
        CALL DHL,DDE
        EXA 
        JNZ EDsSCU0
        RET 
EDsSCDN
        LD DE,SMPBOT&#300<3+.SMPBOT+#4001+SMPX
        LD HL,SMPBOT-32&#300<3+.(SMPBOT-32)+#4001+SMPX
        LD A,SMPH<3-8
EDsSCD0
        CALL EDsLDI
        CALL UHL,UDE
        EXA 
        JNZ EDsSCD0
        RET 
EDsLDI
        DEC A
        EXA 
        LD BC,19
        PUSH HL,DE
        LDIR 
        POP DE,HL
        RET 
EDsUP
        DEC A
        RET NZ
        CALL GsMRK7
        LD A,(EsLIN)
        DEC A
        JP M,EDsCQ
        LD B,A,A,(EsTOP),C,A
        DEC A
        CP B
        JNZ EDsUQ
        PUSH BC
        CALL EDsSCDN
        POP BC
        LD A,C
        DEC A
        LD (EsTOP),A
        PUSH BC
        LD E,0
        CALL PRSMLIN
        POP BC
EDsUQ   LD A,B,(EsLIN),A
        JR EDsCQ
EDsLR
        CALL GsMRK7
        LD HL,EsX,A,(HL)
        CPL 
        LD (HL),A
EDsCQ   CALL GsMRK56
        JP SHOLK
EDSMCUR
        CALL BIT5
        RET Z
        CP "A
       JP Z,EsAfix
        CP "9
       JP Z,EsTfix
        CP "F
       JP Z,EsNfix
        CP ")
       JP Z,EsVOLi
        CP "(
       JP Z,EsVOLd
        CP kIns
       JZ EDsINS
        CP kDelLn
       JP Z,EDsDELLN
        CP "K
       JP Z,EDsBEG
        CP "L
       JP Z,EDsEND
        CP "Y
       JP Z,EsTi
        CP "U
       JP Z,EsNi
        CP "I
       JP Z,EsEi
      ; SUB 4
      ; JZ EDsTRU
      ; DEC A
      ; JP Z,EDsINV
        SUB 3+5
        JZ EDsLR
        DEC A
        JZ EDsLR
        DEC A
        JP NZ,EDsUP
        CALL GsMRK7
        LD A,(EsLIN)
        INC A
        AND 63
        JZ EDsCQ
        LD BC,(EsTOP),B,A
        SUB C
        CP SMPH
        JNZ EDsDQ
        PUSH BC
        CALL EDsSCUP
        POP BC
        LD A,C
        INC A
        LD (EsTOP),A
        PUSH BC
        LD E,SMPH-1
        ADD A,E
        CALL PRSMLIN
        POP BC
EDsDQ   LD A,B,(EsLIN),A
        JP EDsCQ
       IFN 0
EDsTRU
        CALL GsMRK7
        LD HL,EsLIN,A,(HL)
        SUB SMPH
        LD (HL),A
        LD DE,EsTOP,A,(DE)
        SUB SMPH
        JNC $+4
        XOR A
        LD (HL),A
        JR EDsInE
       ENDIF 
EDsINS
        CALL EsGadr
        LD A,-4
        SUB L
        RET Z
        LD L,-5,D,H,E,-1,B,0,C,A
        LDDR 
       INC L
       SRL L,L
        LD DE,EsLOOP
        CALL incCOR
       JZ $+4
       JNC EDsINVQ
        EXD 
        INC HL
       DEC A
        ADD A,(HL)
        CP E
        JC EDsINVQ
        CP 63
        JNC $+3
        INC (HL)
        JR EDsINVQ
EDsDELLN
        CALL EsGadr
        LD D,H,A,L
        ADD A,4
        LD E,A
        EXD 
        XOR A
        LD B,A
        SUB L
        RET Z
        LD C,A
       LD A,L
        LDIR 
       LD L,A
       SRL L,L
        LD DE,EsLOOP
        CALL decCOR
       JNC EDsINVQ
        EXD 
        INC HL
        ADD A,(HL)
        CP E
        JC $+3
        DEC (HL)
       IFN 0
        JR EDsINVQ
EDsINV
        CALL GsMRK7
        LD HL,EsLIN,A,(HL)
        ADD A,SMPH
        LD (HL),A,DE,EsTOP,A,(DE)
        ADD A,SMPH
        CP 65-SMPH
        JC EDsInE
        LD (HL),63
        LD A,64-SMPH
EDsInE  LD (DE),A
       ENDIF 
EDsINVQ CALL SHOLK
        CALL PRSMP
GsMRK56
        LD E,56
        JR GsmpMRK
GsMRK7
        LD E,7
GsmpMRK
        LD A,(EsLIN)
EsTOP=$+1
        SUB 0
        ADD A,A,A,A,A,A
        LD L,A,H,0,BC,SMPATR;#58E4
        ADD HL,HL,HL,HL,HL,BC
        LD A,(EsX)
        OR A
        LD A,5
        JZ $+4
        LD A,7
        ADD A,L
        LD L,A
        LD (HL),E
        INC L
        LD (HL),E
        RET 
PRORNos
       LD A,(OCT)
       ADD A,"0
        LD DE,#E11
        CALL PRADD
        LD A,(EoSMP)
        CALL HEXDIG
        LD D,#18
        JP PRADD
PROCORN
       LD A,(OCT)
       ADD A,"0
        LD DE,#1000+SMPH
        CALL PRADD
        LD A,(EsORN)
        CALL HEXDIG
        LD D,#1C
        JP PRADD
PRSMP
        LD E,0
        LD A,(EsTOP)
        ADD A,SMPH
        LD (PRSMPe),A
        SUB SMPH
PRSMP0  PUSH AF,DE
        CALL PRSMLIN
        POP DE,AF
        INC E,A
PRSMPe=$+1
        CP 0
        JNZ PRSMP0
        RET 
PRSMVOL
        PUSH DE,AF
        CALL PRADDPP
        LD D,11+SMPX
        CALL DE2SCR
        INC H
        EXD 
        LD H,'EDORbf
        POP AF
        ADD A,A,A,A,A,3
        LD L,A,A,(HL)
        AND #F
        LD (PRSMVa),A
        EXD 
        PUSH AF,HL
        LD A,#22,B,7
        CALL BLOBER
        INC L
        DJNZ $-4
        LD A,#20
        CALL BLOBER
        POP HL,AF
        LD E,A
        RRA 
        PUSH AF
        AND 7
        JZ PRVOL7
        LD B,A,A,#77
PRVOL0  LD D,H
       DUP 5
        LD (HL),A
        INC H
       EDUP 
        LD (HL),A,H,D
        INC L
        DJNZ PRVOL0
PRVOL7  LD A,E
        CP #F
        LD E,#72
        JNZ $+4
        LD E,#70
        POP AF
        LD A,E
        CALL C,BLOBER7
PRSMVa=$+1
        LD A,0
        POP DE
        LD D,#25
        JP D2HEX
DQ   LD A,B,(EsLIN),A
        JP EDsCQ
       IFN 0
EDsTRU
        CALL GsMRK7
        LD HL,EsLIN,A,(HL)