PROTRACKER372 PTCONST H

From MSX MUSIC WIKI
Revision as of 23:27, 14 February 2020 by Kumokosi (talk | contribs) (Created page with "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 k...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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