PROTRACKER372 PT6 371 H
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Ĭ<3+.SMPATR+#4001+SMPX LD HL,SMPATR+32Ĭ<3+.(SMPATR+32)+#4001+SMPX LD A,SMPH<3-8
EDsSCU0
CALL EDsLDI CALL DHL,DDE EXA JNZ EDsSCU0 RET
EDsSCDN
LD DE,SMPBOTĬ<3+.SMPBOT+#4001+SMPX LD HL,SMPBOT-32Ĭ<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)