PROTRACKER372 PTCONST H
PTconst C��C$�%#¾ MAIN "",#C6 FD=32765 iy=23610 pg=#5B5C pg6=#10 pg4=#16 pg3=#14 pg7=#17
- CS
kTRA="T kBEG="U kEND="I kCOP="Y kORD="L kEON="E kAON="A
kBEM=198 kK="K kE="E kIns=201 kSmp=172 kOrn=197 kssA=226
IFN 1
- Macros keys
kL=15 kssL="=" kHom=199 kEnd=200 kTab=6 kTabL=7 kDelLn=12 kssE="> kssR="< kChip=14
ELSE
- old keys
kL="L" kssL="=" kHom=15 kEnd=") kTab=6 kTabL=7 kDelLn=199 kssE=200 kssR="< kChip=12
ENDIF
_c000=#C000
IF0 ply
mod=FrTab+#C0 plaer=TVOL
IFN mkvol ORG TVOL ELSE ORG TVOL-256 INCBIN "PLYC0",512 ORG TVOL+256 ENDIF DS #C000-$ ELSE ORG #BD00,7
plaer
INCBIN "PLYC0
mod
ENDIF IFN mkvol ORG TVOL DS 256 ENDIF ORG FrTab DS #C0
_ce26=mod+5;PT2SMPS _ce66=mod+69;PT2ORNS _ce84=mod+99;PT2trxshft _ce86=mod+101;PT2TITL _cea4=mod+131;PT2POSS lce3f=mod+30;TITL lce63=mod+66;AUTH lce84=mod+99;FRQ lce85=lce84+1;TMP lce86=lce84+2;LEN lce87=lce84+3;LP lce88=lce84+4;trxshft lce8a=lce84+6;SMPS0-1F lceca=mod+169;ORNS0-F lceea=mod+201;POSS(pat*3,-1)
la79e=#A79E;STPOSS(pat+1) la99e=#A99E;STLEN-1 la9bf=#A9BF;STORNS labbf=#ABBF;STTMP labc0=#ABC0;STPATLEN,STPPATLENS labc1=#ABC1;,#6000->la000STPATS
- STPrecode_c000>la000
labf9=#ABF9;,#6000->la000STPPATS labdf=#ABDF;STPLP
la000=#A000;,#2000->ld000STLDADR ld000=#D000;pg7
- pg7
_d000=#D000;scrollers
- pg4
SMPS=#C000 ORNS=#E000 winbuf=#F000
ORG #C000,pg6
TDHL wassin s=32768 c=777
DUP 128 DB s>7
a=s s=s+c c=c-(a-32768/1610)
EDUP
INPAGE
LD E,B
sad0 LD L,E
RES 7,L LD D,'SIN+15 LD BC,#1010 XOR A
sad1 EXD
LD (HL),C SLA (HL) EXD BIT 7,E JZ sader SUB (HL) JNC $+3 DEC C JR sadq
sader ADD A,(HL)
JNC $+3 INC C
sadq DEC D
DJNZ sad1 INC E JNZ sad0 CALL 8026 JC $+7 LD A,201,(IMnOFF),A LD DE,#4020 LD HL,TDHL LD B,E
MKDHL LD (HL),E
INC L LD (HL),D INC L CALL DDE DJNZ MKDHL RET
GETAYER
JZ IMnOFF ;LD (ITEMFLG),A LD HL,(ARXY),A,L SUB 8 CP 32 JNC IMnOFF LD A,H LD HL,CLST3,DE,PLoffC CP #D4 JNC IMabc LD L,CLST2,DE,PLoffB CP #AC JNC IMabc LD L,CLST1,DE,PLoffA CP #88 JC IMnOFF LD A,(WBUFTOP+1) INC A ;edsmp JZ IMnOFF
IMabc LD A,(DE),(HL),A
;INC HL ;LD (HL),A CPL LD (DE),A
IMnOFF
LD A,(WBUFTOP+1) INC A ;edsmp LD A,#11,HL,8 LD DE,rgbufA CALL NZ,GETRG LD A,#16,HL,#209 LD DE,rgbufB CALL GETRG LD A,#1B,HL,#40A LD DE,rgbufC
GETRG
LD (ZZC),A LD BC,-3 OUT (C),L IN A,(C) OUT (C),H IN L,(C) INC H OUT (C),H CPL AND #F ADD A,'SIN LD H,A IN A,(C) BIT 3,A CPL JZ $+3 XOR A AND 7 LD C,A EXD IFN skipABC LD B,1 CP (HL) LD (HL),A JR Z,$+3 INC B INC HL LD A,E CP (HL) LD (HL),A JR Z,$+3 INC B INC HL LD A,D CP (HL) LD (HL),A JR Z,$+3 INC B INC HL LD A,(HL) INC HL CP (HL) LD (HL),A JR NZ,$+4 DEC B RET Z ELSE LD A,(HL) ENDIF PUSH BC,DE INC HL LD E,(HL) INC HL LD D,(HL) LD B,A,C,A EXD LD (CLSTSP+1),SP JP (HL)
CLSTSP LD SP,0
POP DE,BC
ZZC=$+1
LD B,0 EXX LD B,4
zz0 EXX b=7
DUP 4 EXD LD A,L ADD A,C LD L,A,E,(HL) EXD ADD A,C LD E,A,H,'TDHL,A,(HL) OR B INC L LD H,(HL),L,A SET b,(HL) LD A,(DE),L,A,H,'TDHL,A,(HL) OR B INC L LD H,(HL),L,A SET b-1,(HL)
b=b-2
EDUP INC B EXX DJNZ zz0 RET
CLSTAN3 s=#403F
DUP 3 DUP 4 DUP 8 LD SP,s PUSH BC,BC
s=s+256
EDUP
s=s-#7E0
EDUP JP CLSTSP
s=s-#85
EDUP
CLSTlen=$-CLSTAN3/3 CLSTAN2=CLSTAN3+CLSTlen CLSTAN1=CLSTAN2+CLSTlen
rgbufA
IFN skipABC DS 3,#AA ENDIF
CLST1 NOP
IFN skipABC NOP ENDIF DW CLSTAN1
rgbufB
IFN skipABC DS 3,#AA ENDIF
CLST2 NOP
IFN skipABC NOP ENDIF DW CLSTAN2
rgbufC
IFN skipABC DS 3,#AA ENDIF
CLST3 NOP
IFN skipABC NOP ENDIF DW CLSTAN3
lb000=#B000;#1000<->COMFROM COMFROM DISP lb000
INCLUDE "PTCMP*",#46 ENT
ENDC DISPLAY "COM/DECOM=",$-COMFROM
IF0 frqrosh
tab2frq INCBIN "KOZASM
DW #CDA
tab0frq INCBIN "KOZPT tab1frq INCBIN "KOZST
ELSE
NT_DATA
DB T_NEW_0-T_ ADC A,D DB TCNEW_0-T_
DB T_NEW_1-T_ OR A DB TCNEW_1-T_
DB T_NEW_2-T_ ADC A,D DB TCNEW_2-T_
DB T_NEW_3-T_ ADC A,D DB TCNEW_3-T_
T_ TCNEW_1 TCOLD_1 DB #5C+1,0 TCNEW_3 DB #56+1 TCOLD_3 DB #1E+1,#22+1,#24+1,#28+1,#2C+1,#2E+1,#32+1,#BE+1,0 TCNEW_0 DB #1C+1,#20+1,#22+1,#26+1,#2A+1,#2C+1,#30+1,#54+1
DB #BC+1,#BE+1,0
TCNEW_2 DB #1A+1,#20+1,#24+1,#28+1,#2A+1,#3A+1,#4C+1,#5E+1
DB #BA+1,#BC+1,#BE+1,0
- first 12 values of tone tables
T_NEW_1 T_OLD_1 DW #0EF8*2,#0E10*2,#0D60*2,#0C80*2,#0BD8*2,#0B28*2
DW #0A88*2,#09F0*2,#0960*2,#08E0*2,#0858*2,#07E0*2
T_NEW_3 T_OLD_3 DW #0CDA*2,#0C22*2,#0B73*2,#0ACF*2,#0A33*2,#09A1*2
DW #0917*2,#0894*2,#0819*2,#07A4*2,#0737*2,#06CF*2
T_OLD_0=T_OLD_3+2 T_NEW_0=T_OLD_3+2
DW #066D*2
T_NEW_2 DW #0D10*2,#0C55*2,#0BA4*2,#0AFC*2,#0A5F*2,#09CA*2
DW #093D*2,#08B8*2,#083B*2,#07C5*2,#0755*2,#06EC*2 ENDIF
MEMOBUF;(320=#140) SIN=$+#23F/256<8
DISPLAY "SKIP BEFORE SIN=",SIN-MEMOBUF-#140 DISPLAY "SINEND=",SIN+#1000
PRFONSCR
IFN mkvol LD HL,#11 LD D,H,E,H LD IX,TVOL+16 LD B,#10
INITV2 PUSH HL
ADD HL,DE EXD SBC HL,HL
INITV1 LD A,L
RLA LD A,H ADC A,0 LD (IX),A INC IX ADD HL,DE INC B LD A,B AND 15 JNZ INITV1 POP HL LD A,E CP #77 JR NZ,$+3 INC E INC B DJNZ INITV2 ENDIF LD HL,#48E1,BC,#4810 CALL VlN LD L,#E5 CALL VlN LD L,#E7 CALL VlN LD L,#EF CALL VlN LD L,#F7 CALL VlN LD L,#FF CALL VlN LD HL,#4715,BC,#2281 CALL VlN LD L,#1A CALL VlN LD L,#1F DEC C CALL VlN LD L,#10,C,1 CALL VlN INC L
PRFONSCRL
DUP 3 LD BC,#4FF LD (HL),C INC L DJNZ $-2 INC L EDUP BIT 0,H LD HL,#40B1 JNZ PRFONSCRL LD HL,#4FC0,B,31 LD (HL),C INC L DJNZ $-2 LD (HL),#F0 LD DE,#1A06 CALL pRSprRR,pRSprRR LD E,10 CALL pRSprRR LD DE,#700,C,8;10
PRFONSCR0
CALL pRSprPM DEC C JNZ PRFONSCR0 LD DE,#1806 CALL pRSprPM2 INC E CALL pRSprPM2,pRSprPM2 LD DE,#1D0D CALL pRSprPM LD E,6 CALL pRSprPM2 INC E CALL pRSprPM
pRSprPM2
CALL pRSprPM
pRSprPM
LD HL,SprPM,B,8
pRSprU
PUSH DE,HL CALL DE2SCR POP DE
pRSpr0 LD A,(DE),(HL),A
INC HL,DE LD A,(DE),(HL),A INC DE DEC HL INC H DJNZ pRSpr0 POP DE INC E RET
pRSprRR
LD HL,SprRRR,B,6 JR pRSprU
VlN
PUSH BC,HL
VlN0 LD (HL),C
CALL DHL DJNZ VlN0 POP HL,BC RET
SprPM
DD 0101100011017C7C110110000101AAAA
SprRRR
DD 0000222033303BB833302220
Tfonscr
DB "Tempo 04 Disk Options",6,0,1 DB "Position 00 Clears",6,0,2 DB "Pattern 00 Compiler",6,0,3 DB "Length 01 Decompiler",6,0,4 DB "Loop to 00 Play Melody",6,0,5 DB "Volume 0F Play Pattern",6,0,6
DB "Edit patt. 00 About Me Sample 01 01" DB 6,0,7 DB "Patt length 64 Edit Melody Ornam. 01 01" DB 6,2,8 DB "Octave 04 Set_up" DB 6,2,9 DB "Edit step 00",6,38,9,"Pattern 00 Home00",6,0,10 DB "Edit data OFF ----",6,38,10,"Channel 01 01",6,0,11 DB "Auto env. OFF 1:1",6,38,11,"Begin 00 00" DB 6,23,11,"Chip 01" DB 6,0,12 DB "Music:",6,38,12,"End 63 Exchange" DB " by:",6,39,13,"Volume Tone +00 ",6,0,14 DB " ---- ---- ---- ---- ----",#A0 FONATRS
INCBIN "FONATRS
end;(320=#140) SIN=$+#23F/256<8
DISPLAY "SKIP BEFORE SIN=",SIN-MEMOBUF-#140 DISPLAY "SINEND=",SIN+#1000
PRFONSCR
IFN mkvol LD HL,#11 LD D,H,E,H L