1,345
edits
Changes
no edit summary
pt5_371 C��VМ�НNщ MAIN "",#C6 AUTOS LD HL,AUTO1 LD A,4 LD DE,#E0A CALL EDTXT AUTOSu LD HL,AUTO1 LD DE,AUTO2 LD A,(HL) CP "G JC AUT0s CP "W JNC AUT0s SUB "G OR #80 LD (DE),A INC DE,HL JR AUTO0-2 AUT0s CALL D0TO_ LD (DE),A INC DE,HL LD B,3 AUTO0 CALL D0TO_ LD (DE),A INC DE,HL DJNZ AUTO0 LD HL,AUTO1 LD DE,#E0A LD B,4 JP PRTXADD BYS LD HL,TAUTHOR,DE,#60D JR $+8 TITLES LD HL,TTITLE,DE,#60C LD A,#20 JP EDTXT COPYSMP CALL OUT4 SMP2=$+1 smp=$+2 LD BC,#101 LD A,B ADD A,'SMPS LD H,A SUB B ADD A,C LD D,A PUSH BC LD BC,256 LD L,C,E,C LDIR POP BC LD A,B ADD A,A LD L,A,H,'TSMPSZ LD E,(HL) INC L LD D,(HL) LD A,C ADD A,A LD L,A LD (HL),E INC L LD (HL),D JP PROK DECSMP LD A,31 JR $+4 INCSMP LD A,1 ONCSMP LD HL,smp LD DE,#2F06 LD B,A ADD A,(HL) AND 31 JNZ $+3 ADD A,B LD (HL),A CALL D2HEX LD A,(digit),(EDSMPN),A RET DECSMP2 LD A,31 JR $+4 INCSMP2 LD A,1 ONCSMP2 LD HL,SMP2 LD DE,#3906 LD B,A ADD A,(HL) AND 31 JR IORN2U DECORN LD A,15 JR $+4 INCORN LD A,1 ONCORN LD HL,ORN LD DE,#2F07 LD B,A ADD A,(HL) AND 15 JNZ $+3 ADD A,B LD (HL),A CALL D2HEX digit=$+1 LD A,"1 LD (EDORNN),A RET DECORN2 LD A,15 JR $+4 INCORN2 LD A,1 ONCORN2 LD HL,ORN2 LD DE,#3907 LD B,A ADD A,(HL) AND 15 IORN2U JNZ $+3 ADD A,B LD (HL),A JP D2HEX COPYORN CALL OUT4 CALL HLORN LD D,A PUSH HL ORN2=$+1 LD A,0 CALL HLOR3 LD E,A EXD EX (SP),HL LD BC,64 LDIR POP BC LD L,B,H,'TORNSZ LD E,(HL) INC L LD D,(HL) LD L,C LD (HL),E INC L LD (HL),D JP PROK IFN about ABOUT CALL PIANAY LD BC,mABOUT CALL WINDUM LD HL,tABOUT LD DE,AUTO20 CALL PRMENU CALL TSTFIRH JNC $-3 JP CLOSWIN ENDIF HOMEtra XOR A JZ ITRAQ INCTRA LD A,(transp) INC A ITRAQ LD C,0 JP P,$+7 NEG LD C,-1 AND #3F LD B,A INC C JNZ $+4 NEG LD (transp),A DEC C LD A,"+ JZ $+4 LD A,"- LD DE,#360D CALL PRADD LD A,B INC D JP toOO DECTRA LD A,(transp) DEC A JR ITRAQ pat1=$+1 INCPAT1 LD A,0 INC A LD B,0 IPAT1Q CP PATS JC $+3 LD A,B iPATq LD (pat1),A LD DE,#4937 JP PRF8 DECPAT1 LD A,(pat1) LD B,PATS-1 DEC A JR IPAT1Q pat2=$+1 INCPAT2 LD A,0 INC A LD B,0 IPAT2Q CP PATS JC $+3 LD A,B iPAT2q LD (pat2),A LD DE,#493C JP PRF8 DECPAT2 LD A,(pat2) LD B,PATS-1 DEC A JR IPAT2Q HOMEcop XOR A LD (beg1),A CALL IBEGq XOR A LD (beg2),A CALL IBEG2q LD A,63 JR IENDQ ENDcur LD A,(CURY) JR IENDQ INCEND LD A,(fromEND) INC A IENDQ AND 63 LD (fromEND),A LD DE,#2E0C JP toOO DECEND LD A,(fromEND) DEC A JR IENDQ PLSONG POS=$+1 LD DE,TPOSS LD A,(DE),(EPAT),A LD E,A INC D LD A,(DE),(PATLEN),A LD A,-1 PLPaSo LD HL,ESNGon LD B,(HL) PUSH BC,HL LD (HL),A CALL PATFON ;для PLPAT не надо,но можно CALL PRPAT LD HL,PLEXT,(PLJP),HL CALL INICHAN IFN pttfc LD A,pttfc CALL OUTME LD HL,tfmmuz CALL tfmini CALL tfm ;первый фрейм пуст LD A,1 LD (tfcplayon),A ENDIF CALL PLAYER IFN pttfc XOR A LD (tfcplayon),A LD A,pttfc CALL OUTME CALL tfmshut ENDIF POP HL,BC LD (HL),B RET PLPAT XOR A JR PLPaSo ;1(PRPAT) INITPLY LD A,#F LD (Avol),A LD (Bvol),A LD (Cvol),A LD A,#F0 LD (Avol2),A LD (Bvol2),A LD (Cvol2),A LD HL,ORNS LD (Aorn),HL LD (Born),HL LD (Corn),HL IFN ts LD HL,ayblock LD DE,ayblock2 LD BC,szayblock LDIR ENDIF ;3(EPENT,PLPAT,PLSONG) INICHAN LD A,-1 LD (Achan),A LD (Bchan),A LD (Cchan),A IFN ts LD (Achan+szayblock),A LD (Bchan+szayblock),A LD (Cchan+szayblock),A ENDIF RET PATLENS LD A,(PATLEN) CALL FILLENS CALL PROK PRPAT XOR A LD (CURY),A PRPATU CALL PIANAY CALL INITPLY PRPATUU CALL CHKTS ;3.7 LD A,(CURY) LD HL,PATLEN CP (HL) JC $+3
LD A,(HL)
LD D,A
LD L,A
LD (HL),A
LD (HL),A
CALL D2HEXNZ,MELINV POP AF JP WAITNOK EPUP CALL PRCU7 LD L,1 CALL UPROLL JR EPDQ ;3(ini,NLOOP,MENUUSE)digit EDPAT editON=$+1 LD A,"10 OR A LD ;если не редактировали(EDORNN0),Aто входим на EDPATu JZ EDPATu RET ;иначеDECORN2 ;если был EDSONG, то на EDSONG LD A,15(ESNGon) JR $+4 INC A JP Z,EDSONGINCORN2 RET EDPATu LD A,-1ONCORN2 LD HL,ORN2 LD DE,#3907 LD B(editON),A ADD A,(HL) AND 15IORN2U JNZ $+3 ADD XOR A,B LD (HLCURY),A JP D2HEX CALL PRPATCOPYORN EDPAT0 CALL OUT4RESHALT CALL HLORNFLACUR LD DHL,AEDPATQ PUSH HLORN2=$+1 LD (curfla),A,0 CALL HLOR3BIT5 RET Z LD HL,tSS LD EBC,A9 CPIR JZ EPss EXD CP "W EX (SP) JP Z,HLEDSONGCS LD BCIFN bemol CP kBEM JP Z,64EPbem LDIR ENDIF POP BC CP kssA LD L JP Z,BSSA CP kssR JP Z,HEPssr CP kIns JP Z,'TORNSZEPins CP kssE LD E JP Z,(HL)EPsse INC L CP kDelLn LD D JP Z,(HL)EPdelln CP kHom JZ EPGRA CP kEnd JZ EPEND LD LIFN tab CP kTab JP Z,CJCUR CP kTabL LD (HL) JP Z,EJCURL INC LENDIF LD (HL)IFN ts CP kChip JP Z,DSWPSONG ENDIF CP kSmp JP PROKZ,EDSMP IFN about CP kOrnABOUT JP Z,EDORN CALL PIANAY SUB 4 LD BC JP Z,mABOUTDECPOSU CALL WINDUM DEC A LD HL JP Z,tABOUTINCPOSU SUB 3 JZ LCUR DEC A LD DE,0 JZ RCUR CALL PRMENU DEC A CALL TSTFIRH JP Z,EPDOWN JNC $-3 DEC A JP CLOSWINZ,EPUP ENDIF DEC A,AHOMEtra JP Z,EPENT XOR DEC A JZ ITRAQ JP Z,EPEXT CALL 8026INCTRA JC NCAPCOM LD A,(transp23560) INC A CP kAON JP Z,AUTOON CP kEON JP Z,ENVON CP kTRA JP Z,TRANSP CP kBEG JP Z,BEGcur CP kEND JP Z,ENDcur CP kCOPITRAQ LD C JP Z,0COPcur CP kORD JP PZ,$+7POSEDIT NCAPCOM CALL TSTNOTE NEG CALL XPPSCF LD C JP Z,-1TSTOCT RET EPGRA AND #3F XOR A LD BHL,ACURY INC CCP (HL) JNZ $+4ePGQ NEG DEC H EPEND LD HL,(transpEPAT) LD H,A'TPATSZ DEC C LD A,"+(HL)
JZ $+4
INC A
LD A,(POS)
EXA
EXA
LD DA,AE
EXA
INC A
OR A
LD A,0
OR A
XOR A
LD (Acom),A
LD (Ccom),A
CALL PLREAD
LD A,(tempCNT)
DEC A
LD L,1 CALL Z,ROLL ;35500 CALL HALTnAR ;10000 CALL JPITEM ;стрелка выкл. CALL PATFON ;3000 ;при выходе после перекл.POS будет сначала READ,потом ROLL CALL ARROW ;1700 CALL OUT4 ;100 CALL PLnOUT ;5400 IFN ts LD A,(tson) OR A JZ PLnots2 LD A,(tempCNT) DEC A CALL Z,PLREAD ;2100 LD A,#FE CALL SWPAYPP ;7700;6881 CALL OUT4 ;100 CALL PLnOUT ;5400 PLnots2 ENDIF tempCNT=$+1 LD A,0 DEC A JNZ PLnoNL CALL PLREAD ;2100 temp1=$+1 LD A,0 PLnoNL LD (tempCNT),A IFN ts LD A,(tson) OR A LD A,#FF CALL NZ,SWPAYPP;7700;6881 ENDIF ;CALL RE ;1000 ;CALL JPITEM IFN pttfctfcplayon=$+1 LD A,0
OR A
LD A,#FF CALL NZ,SWPAYPP;7700;6881 ENDIF ;CALL RE ;1000 ;CALL JPITEM IFN pttfc tfcplayon=$+1 LD A,0 OR A JZ tfcplayno LD A,pttfc CALL OUTME CALL tfm tfcplayno ENDIF PLJP=$+1 JP PLCANC ;or PLEXT (ed.song) PLCANC CALL CANCEL JNC PLAYER0 JR PLQ PLEXT CALL CANCEL2 JNC PLQ CALL 8026 JC PLAYER0 CALL 8020 RRA JC PLAYER0 PLQ LD A,mains LD (options),A CALL RE ;1000 CALL PIAN2AY JP WAITNOK PLREAD LD A,(CURY),C,A LD A,(EPAT),B,A CALL GETnADR LD A,(HL),(ENV+1),A INC HL LD A,(HL),(ENV),A INC HL LD A,(HL),(DNOIS),A INC HL PUSH HL POP IX LD IY,Achan CALL USEchan LD BC,5 ADD IX,BC LD IY,Bchan CALL USEchan LD BC,5 ADD IX,BC LD IY,Cchan CALL USEchan LD IY,iy RET USEchan LD C,(IX+3) LD A,(IX) AND #7F DEC A JP M,USEbl CP 96 JNZ USEnR LD (IY+#E),0 LD A,-1 JR uSEnNOT USEnR LD B,(IY+#B) LD (IY+#B),A LD (IY+#12),B XOR A LD (IY+#1C),A LD (IY+#18),A LD (IY+#19),A ; LD (IY+#1A),A ;shift LD (IY+#1B),A LD (IY+#E),A LD L,(IY+#13) LD H,(IY+#14) LD (usedisp),HL LD (IY+#13),A LD (IY+#14),A LD (IY+4),A LD (IY+9),A uSEnNOT LD (IY),A LD A,(IX) RLA LD A,C RRA RRA RRA RRA AND 31 JZ USEbl LD L,A ADD HL,HL LD H,'TSMPSZ LD B,(HL) LD (IY+#A),B INC L LD B,(HL) LD (IY+8),B LD (IY+6),0 ADD A,'SMPS LD (IY+7),A USEbl LD A,C LD B,#F AND B LD C,A ;FX:B=F ;?X:B=1F ;0X:не менять JZ USE0x ;JZ USEoldE CP B JZ USEnE LD (NOTENV),A LD (env),A XOR A LD L,A,H,A LD (Efrq),HL LD (EstCNT),A LD HL,(ENV),(BASENV),HL LD B,31 USEnE LD (IY+#D),B ;vol|envmask USE0x LD A,(IX+4) AND #F0 CP C JZ USEoldE RRCA RRCA RRCA RRCA CALL HLOR3 LD (IY+4),0 LD (IY+1),L LD (IY+2),H LD L,A,H,'TORNSZ LD A,(HL),(IY+5),A INC L LD A,(HL),(IY+3),A USEoldE LD A,(IX+4) AND #F JZ USEnV ADD A,A,A,A,A,A,A,A LD (IY+#C),A USEnV LD A,(IX+1) AND #F0 RET Z LD C,16 SUB C JZ dncom SUB C JZ upcom SUB C JZ portcom SUB C JZ smpcom SUB C JZ orncom SUB C JP Z,vibcom SUB C RET Z SUB C RET Z SUB C JP Z,edcom SUB C JP Z,eucom SUB C RET NZ LD A,(IX+2) CP 1 RET C ;LD (tempCNT),A ;v3+698 LD (temp1),A RET upcom LD A,(IX+1) AND #F upcomQ LD (IY+#F),A ;delay LD (IY+#E),1 ;com.type LD (IY+#10),A ;count IFN fixtoENV PUSH AF ENDIF LD L,(IX+2) LD H,0 CALL NC,NEGHL LD (IY+#11),L LD (IY+#15),H IFN fixtoENV POP AF RET NZ OR H,L RET Z ;3!699(глючили 1000,2000) LD (IY+#13),L LD (IY+#14),H ENDIF RET dncom LD A,(IX+1) AND #F SCF JR upcomQsmpcom LD A,(IX+2),(IY+9),A RET orncom LD A,(IX+2),(IY+4),A RET vibcom LD (IY+#E),3 LD A,(IX+2),B,A AND #F LD (IY+#17),A LD A,B AND #F0 RRCA RRCA RRCA RRCA LD (IY+#16),A LD (IY+#10),A RET portcom LD A,(IX) AND #7F DEC A CP 96 RET NC LD A,(IX+1) AND #F LD (IY+#F),A LD (IY+#10),A LD A,(IX+2) LD (IY+#11),A LD (IY+#15),0 LD (IY+#E),2 LD A,(IY+#12),C,A LD HL,FrTab ADD A,A ADD A,L LD L,A LD E,(HL) INC L LD D,(HL) PUSH DE LD HL,(usedisp)
LD (IY+#13),L
LD (IY+#14),H
EXD
LD A,(IY+#B)
LD (IY+#12),A
LD (IY+#B),C
LD HL,FrTab
ADD A,A
ADD A,L
LD L,A
LD A,(HL)
INC L
LD H,(HL),L,A
PUSH HL
POP HL
POP DE JNC portUP EXD PUSH HL LD L,(IY+#11) LD H,(IY+#15) CALL NEGHL LD (IY+#11),L LD (IY+#15),H POP HL portUP OR A SBC HL,DE LD (IY+#16),L LD (IY+#17),H RET edcom LD A,(IX+1) AND #F LD (EstCNT),A LD (EiniCNT),A LD L,(IX+2),H,0 LD (Estep),HL RET eucom CALL edcom CALL NEGHL LD (Estep),HL RET ;2:TSTNQ,EPENT(nu) PLNOTE IFN ts LD A,(tson) OR A JZ PLnotsP LD A,#FE CALL SWPAYPP CALL PLNOTPP LD A,#FF CALL SWPAYPPPLnotsP ENDIF
CALL PLNOTPP
LD A,#FF CALL SWPAYPP PLnotsP ENDIF CALL PLNOTPP PLNOTE0 CALL HALTER CALL OUT4 IFN ts LD A,(tson) OR A JZ PLnotsP2 LD A,#FE CALL SWPAYPP CALL PLnOUT LD A,#FF CALL SWPAYPPPLnotsP2 ENDIF
CALL PLnOUT
LD A,#FF CALL SWPAYPP PLnotsP2 ENDIF CALL PLnOUT LD A,#81 IN A,(-2) CPL AND 31 JNZ PLNOTE0 CALL 8020 CPL AND 14 JNZ PLNOTE0 CALL 8026 CPL AND 15 JNZ PLNOTE0 PIAN2AY IFN ts LD A,#FE CALL SWPAYPP CALL PIANAY LD A,#FF CALL SWPAYPP ENDIF JP PIANAY ;2 тут PLNOTPP LD A,(NOTENV) LD (env),A XOR A LD (Acom),A LD (Bcom),A LD (Ccom),A CPL LD (Achan),A LD (Bchan),A LD (Cchan),A JP PLREAD FILLATR DI LD HL,LINESon LD A,(PATLEN) LD C,A INC C LD DE,#FF00 ;;; LD A,(CURY) LD B,4 SUB B FATR0 OR A JP P,FATR0Q LD (HL),D INC HL INC A DJNZ FATR0 JR FATR1Q FATR0Q LD (HL),E INC HL DJNZ $-2 FATR1Q INC HL LD B,4 LD A,(CURY) FATR2 INC A CP C JZ FATR2Q LD (HL),E INC HL DJNZ FATR2 JR FATR3Q FATR2Q LD (HL),D INC HL DJNZ $-2 FATR3Q LD (FATRSP),SP LD IX,#59FF LD IY,LINESon LD A,9 FATRFIL EXA col1=$+1 LD HL,#606 col2=$+1 LD DE,#707 LD BC,#744 LD A,(IY) CP #7F JZ FATRNO OR A JZ FATRPUS LD HL,0 LD D,L,E,L LD C,L FATRPUS LD SP,IX PUSH HL DEC SP PUSH HL,HL DEC SP PUSH HL DEC SP PUSH HL,HL DEC SP PUSH HL DEC SP PUSH HL,HL DEC SP PUSH DE,HL DEC SP PUSH BC FATRNO INC IY LD BC,32 ADD IX,BC EXA DEC A JNZ FATRFIL FATRSP=$+1 LD SP,0 LD IY,iy EI RET PLnOUT XOR A LD (mix),A LD IY,Achan LD A,(IY) INC A JZ PLnAres CALL iSMPORN LD DE,(Adfrq) ADD HL,DE LD (frqA),HL CALL ADDVOL LD A,B CALL GLOVOL1 PLoffA=$+1 AND -1 PLnAres LD (volA),A CALL PLcoms LD IY,Bchan LD A,(IY) INC A JZ PLnBres CALL iSMPORN LD DE,(Bdfrq) ADD HL,DE LD (frqB),HL CALL ADDVOL RLC B CALL GLOVOL PLoffB=$+1 AND -1 PLnBres LD (volB),A CALL PLcoms LD IY,Cchan LD A,(IY) INC A JZ PLnCres CALL iSMPORN LD DE,(Cdfrq) ADD HL,DE LD (frqC),HL CALL ADDVOL RLC B,B CALL GLOVOL PLoffC=$+1 AND -1 PLnCres LD (volC),A CALL PLcoms LD HL,(BASENV) LD A,(Edfrq) ADD A,L LD L,A LD DE,(Efrq) ADD HL,DE LD (frqE),HL LD A,(EstCNT) DEC A JP M,EstOFF JNZ EstNZ LD HL,(Estep) ADD HL,DE LD (Efrq),HL LD A,(EiniCNT) EstNZ LD (EstCNT),A EstOFF XOR A LD (Edfrq),A LD IY,iy JP OUTAY GLOVOL LD A,(mix) OR B GLOVOL1 LD (mix),A LD H,'TVOL,L,(IY+#C) ADD HL,DE LD E,(HL) glovol=$+1 LD L,#F0 ADD HL,DE LD A,(HL) OR C AND (IY+#D) RET PLcoms LD A,(IY+#E) DEC A RET M JNZ PLcomNG DEC (IY+#10) RET NZ PLcomG LD A,(IY+#F),(IY+#10),A LD L,(IY+#13) LD H,(IY+#14) LD E,(IY+#11) LD D,(IY+#15) ADD HL,DE LD (IY+#13),L LD (IY+#14),H RET PLcomNG DEC A JNZ PLcomNP DEC (IY+#10) RET NZ CALL PLcomG LD A,D EXD LD L,(NOTENVIY+#16) LD H,(IY+#17) RLA JNC PLportA ADD HL,DE,HL,DE PLportA SBC HL,DE INC H RET NZ LD A,(IY+#12),(IY+#B),A XOR A LD (IY+#E),A LD (IY+#13),A LD (IY+#14),A RET PLcomNP DEC A RET NZ DEC (IY+#10) RET NZ LD A,(IY) XOR -1 LD (IY),A LD A,(envIY+#16) JZ $+5 LD A,(IY+#17) LD (IY+#10),A RET COPcur LD A,(CURY),(beg2),A
XOR A
PUSH HL
PUSH BC
EXA
XOR A
LD C,A
DEC A
RET NC
DEC A
DEC A
LD D,A
SCF
SUB 9