PROTRACKER372 PTMSG H

From MSX MUSIC WIKI
Jump to: navigation, search

ptmsg???C��п-�.Ю9

MAIN "",#C6
;=====================================
       IFN about
mABOUT
        DB 1,9,30,21,32
tABOUT
DB "23may2007 dmitry.alonecoder@gmail.com (4912)751390(Dima)"
DB "CODE:Nick (4732)141962 | DESIGN:Mm<M (8462)941595(Serge)"
DB "            Golden Disk|Pro Tracker v3.72               "
DB "0???=No Effect <EFFECTS|KEYS> W=Edmuz,Ext=Edpat,Ent=Play"
DB "1(2)wii=Gliss Down/Up  | E=Env,F,"
        IFN bemol
        DB "ssY=b/#,"
        ELSE 
        DB "        "
        ENDIF 
DB "ssW=Ins,"
        IF0 kL-15
        DB "cs0=Del
        ELSE 
        DB "ssQ=Del
        ENDIF 
DB "3wii=Tone Portamento   | csU/I/Y/T;csE,csA,9;ssI,ssU,csL"
DB "4(5)?oo=Smp/Orn offset | "
        IF0 kL-15
        DB "ssT>m,ssR<m;Ho,End,cs12;K,ssL,)"
        ELSE 
        DB "ssE>m,ssR<m;Gr,ss9,cs12;K,[ss]L"
        ENDIF 
DB "6?YN=Vibrato           |MENU KEYS> Ext,Ent=EXIT, KL=Loop"
DB "9(A)wii=Env.Gliss Dn/Up| 0WERT+,A9FYUI=atnTNE, ssUI,cs34"
DB "B?tt=Tempo             |DISK MENU> 1-4=ABCD"
        DB #A0
       ENDIF 

       IFN set
mSETUP
        DB 8,6,#19,#13,#68
tSETUP
        DB 6,13,0,"SETUP"
        DB 6,1,1,"Frequency table:"
        DB 6,5,2,"Print points :"
        DB 6,11,3,"Colours:"
        DB 6,9,4,"Ink Pap."
        DB 6,9,5,"Ink Pap."
        DB 6,9,6,"Border :"
       IFN savset
        DB 6,11,10,"Save SETUP"
       ENDIF 
        DB 6,7,7,"Sound    :"
        DB 6,7,8,"Play on  :"
        DB 6,5,9,"Kempston joystick",#BA
tPTST
        DB "'ProTracker","'"+#80
        DB "SoundTracke","r"+#80
        DB "1.750000 Hz"," "+#80
        DB "'Real Sound","'"+#80
tALL
        DB "ALL",#A0
tNOTE
        DB "NOT",#C5
       IFN savset
TPTSETU
        DB "PT 3.4 SETUP
       ENDIF 
       ENDIF 
mDISK
        DB 5,8,#19,#17,#28
tDISK
        DB 6,#17,2,"Files:"
        DB 6,2,2,"Reread Catalogue"
        DB 6,#23,4,"Up"
        DB 6,8,4,"Save"
        DB 6,1,6,"File Name:"
        DB 6,#22,11,"Down"
        DB 6,4,8,"Save Pattern"
        DB 6,4,10,"Save Sample"
        DB 6,4,12,"Save Ornament",#A0
tSZ
        DB 6,#B,0,"Song Len=","#"+#80
mCLEAR
        DB 6,2,#10,#B,#28
tCLEAR
        DB "      CLEARS      "
        DS 18," "
        DB " Song ........... "
        DB " Positions ...... "
        DB " Pattern ........ "
        DB " Sample ......... "
        DB " Ornament ....... ",#A0
mSURE
        DB #D,#A,#15,#F,#16
tSURE
        DB "ARE YOU SURE ?"
        DB 6,0,2,"YES   NO   AL",#CC
       IFN cmpilmnu
mCOMPIL
        DB 3,6,#E,#16,#28
tCOMPIL
        DB "ProTracker  Compiler"
        DB 6,1,2,"Save compiled song "
        DB "Include player:"
        DB 6,0,4,"Start  address:#"
        DB 6,5,6,"Parameters:"
        DB 6,0,8,"Init address  :#"
        DB 6,0,9,"Play address  :#"
        DB 6,0,10,"Stop address  :#"
        DB 6,0,11,"Data address  :#"
        DB 6,0,#D,"Length"
        DB 6,#E,#D,":",#A3
       ENDIF 
mDISKER
        DB #A,6,#15,#C,#14
tDISKER
        DB 6,5,0,"DISK ERROR"
        DB 6,0,2,"Retry,Abort,Ignore ",#BF
mEDORN
       ;DB 0,1,#11,#17,7
        DB 0,1,#11,#14,7
tEDORN
        DB "EDIT ORNAMENT 0"
EDORNN  DB "1",#A0
tORNo_s
        DB "OCTAVE    SAMPLE  ",#A0
;tORNKEY
       ;DB " ssUI,ssK,0WERT,Ins,cs0  ,CURSOR "
       ;DB "   PRESS NOTE KEYS FOR PLA",#D9
mEDSMP
        DB SMPX,SMPY,#14+SMPX,2+SMPY+SMPH,7
EDSMPN  DB "1",#A0
tSMPKEY
        DB "OCTAVE    ORNAMENT",#A0
mPOS
        DB 1,1,#A,#17,#28
tPOS
        DB " POSITIONS LIST"
        DB 6,0,2," POSIT.   PAT",#D4
;=====================================
T____
        DB "---",#AD
Tmemo
        DB "mem",#EF
FILEXTS
        DB "m"
extS    DB "SM"
extF    DB "Fpso"
TSORRY
        DB "    *** I'M SORRY ***   ",#A0
TDISKER
        DB "   DISK DRIVE ERROR !!! ",#A0
TNOFILE
        DB "        NO FILE !!      ",#A0
TSEARCH
        DB "PLEASE WAIT, SEARCHING !",#A1
TLSMP
        DB "LOADING  SAMPLE",#A0
TSSMP
        DB "SAVING SAMPLE",#A0
TLORN
        DB "LOADING  ORNAMENT",#A0
TSORN
        DB "SAVING ORNAMENT",#A0
TLPAT
        DB "LOADING PATTERN",#A0
TSPAT
        DB "SAVING  PATTERN",#A0
DIVS
        DB "1:",#B1
        DB "3:",#B4
        DB "1:",#B2
        DB "1:",#B4
        DB "3:",#B1
        DB "5:",#B2
        DB "2:",#B1
        DB "3:",#B2
       IFN cmpilmnu
tC0
        DB "C0
       ENDIF 
tON
        DB "ON",#A0
tOFF
        DB "OF",#C6
TYES
        DB "YE",#D3
TNO
        DB "NO",#A0
mOK
        DB #C,#A,#16,#D,#18
TCOMPLE
        DB "OPERATION COMPLET",#C5
       IFN opcompl
TERROR
        DB "ERROR IN OPERATIO",#CE
       ENDIF 
tSS
        DB "('&%$#@!_"
TNOTEKY
        DB "F
        DB ".-,^*",203,"/?",205,"`",195,":
        DB "MJNHBGVCDXSZ",kL
TNOTEKE
TDEFORN
        DB 7,12,16
        DB 4,7,12
        DB 0,4,7
        DB 7,12,15
        DB 3,7,12
        DB 0,3,7
       IFN tab
TJP
        DB 4,4,4,5,6,6
        DB 11,16,17,18,19,15,21,22,23
        DB 20,25,26,27,28,24,30,31,32
        DB 29,25,26,27,28,2,12,13,14
TJPLEFT
        DB 29,29,29,29,2,3
        DB 4,0,1,2,3,6,30,31,32
        DB 11,7,8,9,10,15,12,13,14
        DB 20,16,17,18,19,24,21,22,23
       ENDIF 
;=====================================
       ;DS -$&3
        DS .(-$)
ayblock
ENV
        DW 0 ;почему здесь?
Achan
        DB -1
Aorn    DW ORNS
        DB 1,0,0
        DW SMPS
        DB 1,0,0,0
Avol2   DB #F0
Avol    DB #F
Acom    DS 5
Adfrq   DS 10
Bchan
        DB -1
Born    DW ORNS
        DB 1,0,0
        DW SMPS
        DB 1,0,0,0
Bvol2   DEFB #F0
Bvol    DEFB #F
Bcom    DS 5
Bdfrq   DS 10
Cchan
        DB -1
Corn    DW ORNS
        DB 1,0,0
        DW SMPS
        DB 1,0,0,0
Cvol2   DEFB #F0
Cvol    DEFB #F
Ccom    DS 5
Cdfrq   DS 10

frqA
        DW 0
frqB    DW 0
frqC    DW 0
nois    NOP 
mix     NOP 
volA    NOP 
volB    NOP 
volC    NOP 
frqE    DW 0
env     DW 0

pianRG  DS 12
pianE   NOP 

piaSMP  DW 0
piaORN  DW 0
        NOP ;NU,но нужно!
piSLIN  NOP 
piSEND  NOP 
piOLIN  NOP 
piOEND  NOP 
piSLOOP NOP 
piOLOOP NOP 

piCURv  DB 0;#18VOL
        DW 0;#19dFRQ
        DB 0;#1BNOISE
        DB 0;#1CENV

usedisp DW 0
BASENV  DW 0
Edfrq   DB 0
Efrq    DW 0
EstCNT  DB 0
Estep   DW 0
EiniCNT DB 0
NOTENV  DB 0 ;или не в ayblock?
DNOIS   DB 0
        DS -$&3
szayblock=$-ayblock
szayblock4=szayblock/4
        DS ayblock+256-$
ayblock2
        DS szayblock
;=====================================
       IFN set
        DB 10+savset
SETUCOO
        DW #4048,#4888
        DW #4858,#5090
        DW #5868,#6078
        DW #5878,#6088
        DW #6068,#6878
        DW #6078,#6888
        DW #6868,#7088
        DW #7060,#7888
        DW #7860,#8088
       IFN savset
        DW #8870,#9098
       ENDIF 
        DW #8058,#88A0
       ENDIF 

        DB 5
CLEACOO
        DW #2838,#3078
        DW #3038,#3878
        DW #3838,#4078
        DW #4038,#4878
        DW #4838,#5078

DSKopts DB 8
DISKCOO
        DW #5830,#6078
        DW #6830,#7078
        DW #7830,#8078
        DW #68B0,#70C8
        DW #A0B0,#A8C8
        DW #8830,#9078
        DW #9830,#A078
        DW #A830,#B078
        DW #6880,#70A8
        DW #7080,#78A8
        DW #7880,#80A8
        DW #8080,#88A8
        DW #8880,#90A8
        DW #9080,#98A8
        DW #9880,#A0A8
        DW #A080,#A8A8

        DB 3
SURECOO
        DW #6868,#7078
        DW #6880,#7090
        DW #6898,#70A8

MENUCOO
        DW #0038,#0840
        DW #0040,#0848
        DW #0838,#1040
        DW #0840,#1048
        DW #1038,#1840
        DW #1040,#1848
        DW #1838,#2040
        DW #1840,#2048
        DW #2038,#2840
        DW #2040,#2848
        DW #2838,#3040
        DW #2840,#3048
        ;DW #4038,#4840
        ;DW #4040,#4848
        DW #3038,#3840
        DW #3040,#3848
        DW #3838,#4040
        DW #3840,#4048
        DW #5000,#5828
        ;DW #4838,#5040
        ;DW #4840,#5048
        DW #5800,#6028
        DW #5838,#6048
        DW #5038,#5848
        DW #0048,#0888
        DW #0850,#1080
        DW #3848,#4088
        DW #3000,#3830
        DW #6000,#6818
        DW #6800,#6F18
        DW #3098,#38B8;SMP
        DW #30C0,#38C8
        DW #30C8,#38D0
        DW #30E8,#38F0
        DW #30F0,#38F8
        DW #30D0,#38E0
        DW #3898,#40B8;ORN
        DW #38C0,#40C8
        DW #38C8,#40D0
        DW #38E8,#40F0
        DW #38F0,#40F8
        DW #38D0,#40E0
        DW #3050,#3880
         DW #5858,#5F70;SWPSONG
         DW #6898,#6FB8;TRNSVOL
        DW #68B8,#6FD0;TRNSTONE
        DW #68E8,#6FF0
        DW #68F0,#6FF8
        DW #50D0,#58E0
        DW #48C0,#50C8
        DW #48C8,#50D0
        DW #48E8,#50F0
        DW #48F0,#50F8
        DW #50C0,#58C8
        DW #50C8,#58D0
        DW #50E8,#58F0
        DW #50F0,#58F8
        DW #58C0,#60C8
        DW #58C8,#60D0
        DW #60C0,#68C8
        DW #60C8,#68D0
        DW #60D8,#68F8
        DW #2048,#2888
        DW #2848,#3088
        DW #1050,#1880
        DW #1850,#2080
        DW #58E8,#60F0;+B2
        DW #58F0,#60F8
        DW #4050,#4880
        DW #3800,#4030
        DW #0800,#1028
         DW #5098,#58B8
       DW #5898,#60B8
       DW #6098,#68B8
      DW #48D0,#4FE0
      DW #68D8,#6FE8

       IFN cmpilmnu
        DB 3
COMPCOO
        DW #4820,#5068
        DW #5018,#5858
        DW #5818,#6058
       ENDIF 
;=====================================
       IFN set
SETUUSE
        DW suFRQ
        DW suPOI
        DW suINK1
        DW suPAP1
        DW suINK2
        DW suPAP2
        DW suBORD
        DW suSND
        DW suPLAY
       IFN savset
        DW suSAVE
       ENDIF 
        DW suKJ
       ENDIF 
CLEAUSE
        DEFW clSONG
        DEFW clPOS
        DEFW clPAT
        DEFW clSMP
        DEFW clORN
DISKUSE
        DW READCAT
        DW SAVE
        DW EDFILE
        DW CATUP
        DW CATDN
        DW SAVPAT
        DW SAVSMP
        DW SAVORN
        DW LOAD
        DW LOAD
        DW LOAD
        DW LOAD
        DW LOAD
        DW LOAD
        DW LOAD
        DW LOAD
SUREUSE
        DW YES,YES,YES
MENUUSE
        DEFW INCTMP
        DEFW DECTMP
        DEFW INCPOS
        DEFW DECPOS
        DEFW INCPAT
        DEFW DECPAT
        DEFW INCLENG
        DEFW DECLENG
        DEFW INCLOOP
        DEFW DECLOOP
        DEFW INCVOL
        DEFW DECVOL
        ;DEFW INCOCT
        ;DEFW DECOCT
        DEFW INCEPAT
        DEFW DECEPAT
        DEFW INCPATL
        DEFW DECPATL
        DEFW AUTOON
        ;DEFW INCROLL
        ;DEFW DECROLL
        DEFW ENVON
DIVNO=$-MENUUSE/2
        DEFW NXTDIV
        DEFW AUTOS
        DEFW DISKS
        DEFW CLEARS
        DEFW EDSONG
        DEFW EDPAT
        DEFW TITLES
        DEFW BYS
        DEFW EDSMP
        DEFW INCSMP
        DEFW DECSMP
        DEFW INCSMP2
        DEFW DECSMP2
        DEFW COPYSMP
        DEFW EDORN
        DEFW INCORN
        DEFW DECORN
        DEFW INCORN2
        DEFW DECORN2
        DEFW COPYORN
       IFN about
        DEFW ABOUT
       ELSE 
        DW ret
       ENDIF 
         DEFW ONOFFTS
         DEFW TRANVOL ;vol
        DEFW TRANSP ;tone
        DEFW INCTRA
        DEFW DECTRA
        DEFW COPY
        DEFW INCPAT1
        DEFW DECPAT1
        DEFW INCPAT2
        DEFW DECPAT2
        DEFW INCCHN
        DEFW DECCHN
        DEFW INCCHN2
        DEFW DECCHN2
        DEFW INCBEG1
        DEFW DECBEG1
        DEFW INCEND
        DEFW DECEND
        DEFW EXCHANG
        DEFW PLSONG
        DEFW PLPAT
        DEFW COMPILS
        DEFW DECOMS
        DEFW INCBEG2
        DEFW DECBEG2
       IFN set
        DEFW SETUP
       ELSE 
        DW ret
       ENDIF 
        DEFW PATLENS
        DEFW POSEDIT
         DW ALLCHAN
        DW BEGcur
        DW ENDcur
       DW HOMEcop
       DW HOMEtra
mains=$-MENUUSE/2
       IFN cmpilmnu
COMPUSE
        DW COMSAVE
        DW PLYRyn
        DW EcomADR
       ENDIF 


W #58C0,#60C8
        DW #58C8,#60D0
        DW #60C0,#68C8
        DW #60C8,#68D