Difference between revisions of "PROTRACKER372 PLAYTSMK H"

From MSX MUSIC WIKI
Jump to: navigation, search
(Created page with "PLAYTSmKC�� ���l� ORG #DADF module INCBIN "??????TS.m" DISPLAY "module end=",$ ORG #C000 frq=1 ;чтобы не 4 таблицы, а одн...")
(Tags: Mobile edit, Mobile web edit)
 
(Tags: Mobile edit, Mobile web edit)
 
Line 1: Line 1:
PLAYTSmKC�� ���l�        ORG #DADF
+
PLAYTSmKC�� ���l�         
module  INCBIN "??????TS.m"
+
ORG #DADF
      DISPLAY "module end=",$
+
module  INCBIN "??????TS.m"
        ORG #C000
+
        DISPLAY "module end=",$
frq=1 ;чтобы не 4 таблицы, а одну
+
        ORG #C000
;todo структуру:
+
frq=1 ;чтобы не 4 таблицы, а одну
;ker,vol$frq,DS64$var,smp,or,ef,COD
+
;todo структуру:
;ker,vol$frq,TSINI$var1,smp1,or1,ef1,COD1$var2,smp2,or2,ef2,COD2
+
;ker,vol$frq,DS64$var,smp,or,ef,COD
TSINI
+
;ker,vol$frq,TSINI$var1,smp1,or1,ef1,COD1$var2,smp2,or2,ef2,COD2
        LD HL,module
+
TSINI
        JR TSINI1
+
        LD HL,module
TSPLAY
+
        JR TSINI1
        LD BC,#FFFD
+
TSPLAY
        LD A,#FE
+
        LD BC,#FFFD
        OUT (C),A ;AY #2(1)
+
        LD A,#FE
        CALL PLAYER1+5
+
        OUT (C),A ;AY #2(1)
        LD BC,#FFFD
+
        CALL PLAYER1+5
        LD A,#FF
+
        LD BC,#FFFD
        OUT (C),A ;AY #1(0)
+
        LD A,#FF
        JP PLAYER2+5
+
        OUT (C),A ;AY #1(0)
TSINI1
+
        JP PLAYER2+5
      PUSH HL
+
TSINI1
        LD BC,#FFFD
+
        PUSH HL
        LD A,#FE
+
        LD BC,#FFFD
        OUT (C),A ;AY #2(1)
+
        LD A,#FE
        CALL PLAYER1+3
+
        OUT (C),A ;AY #2(1)
      POP HL
+
        CALL PLAYER1+3
        LD BC,#FFFD
+
        POP HL
        LD A,#FF
+
        LD BC,#FFFD
        OUT (C),A ;AY #1(0)
+
        LD A,#FF
        JP PLAYER2+3
+
        OUT (C),A ;AY #1(0)
 
+
        JP PLAYER2+3
        DS .(-$)
+
PLAYER1
+
        DS .(-$)
        LOCAL  
+
PLAYER1
ts2=1
+
        LOCAL  
        INCLUDE "playFAS*",#C4
+
ts2=1
        ENDL  
+
        INCLUDE "playFAS*",#C4
        DS .(-$)
+
        ENDL  
PLAYER2
+
        DS .(-$)
ts2=0
+
PLAYER2
        INCLUDE "playFAS*",#C4
+
ts2=0
      DISPLAY "end=",$
+
        INCLUDE "playFAS*",#C4
        ORG #7000
+
        DISPLAY "end=",$
        CALL TSINI
+
        ORG #7000
play_l  EI  
+
        CALL TSINI
        HALT  
+
play_l  EI  
        CALL TSPLAY
+
        HALT  
        LD A,#7F
+
        CALL TSPLAY
        IN A,(-2)
+
        LD A,#7F
        RRA  
+
        IN A,(-2)
        JR C,play_l
+
        RRA  
        JP TSINI
+
        JR C,play_l
      IFN 0
+
        JP TSINI
        LD A,#FE ;AY #2(1)
+
        IFN 0
        CALL SHUTFFFD
+
        LD A,#FE ;AY #2(1)
        LD A,#FF ;AY #1(0)
+
        CALL SHUTFFFD
SHUTFFFD
+
        LD A,#FF ;AY #1(0)
        LD BC,#FFFD
+
SHUTFFFD
        OUT (C),A
+
        LD BC,#FFFD
        LD DE,#E00
+
        OUT (C),A
SHUT0  LD BC,-3
+
        LD DE,#E00
        DEC D
+
SHUT0  LD BC,-3
        OUT (C),D
+
        DEC D
        LD B,#BF
+
        OUT (C),D
        OUT (C),E
+
        LD B,#BF
        JNZ SHUT0
+
        OUT (C),E
        RET  
+
        JNZ SHUT0
      ENDIF 084007C0075006F00
+
        RET  
        DD 690063005D00580053004E004A00460042003E003B003700
+
        ENDIF 084007C0075006F00
        DD 340031002F002C00290027002500230021001F001D001C00
+
        DD 690063005D00580053004E004A00460042003E003B003700
        DD 1A00190017001600150014001200110010000F000E000D00
+
        DD 340031002F002C00290027002500230021001F001D001C00
ENDIF  
+
        DD 1A00190017001600150014001200110010000F000E000D00
IF0 .{module+99}-3
+
ENDIF  
 +
IF0 .{module+99}-3

Latest revision as of 20:10, 8 March 2020

PLAYTSmKC�� ���l�

ORG #DADF
module  INCBIN "??????TS.m"
       DISPLAY "module end=",$
        ORG #C000
frq=1 ;чтобы не 4 таблицы, а одну
;todo структуру:
;ker,vol$frq,DS64$var,smp,or,ef,COD
;ker,vol$frq,TSINI$var1,smp1,or1,ef1,COD1$var2,smp2,or2,ef2,COD2
TSINI
        LD HL,module
        JR TSINI1
TSPLAY
        LD BC,#FFFD
        LD A,#FE
        OUT (C),A ;AY #2(1)
        CALL PLAYER1+5
        LD BC,#FFFD
        LD A,#FF
        OUT (C),A ;AY #1(0)
        JP PLAYER2+5
TSINI1
       PUSH HL
        LD BC,#FFFD
        LD A,#FE
        OUT (C),A ;AY #2(1)
        CALL PLAYER1+3
       POP HL
        LD BC,#FFFD
        LD A,#FF
        OUT (C),A ;AY #1(0)
        JP PLAYER2+3

        DS .(-$)
PLAYER1
        LOCAL 
ts2=1
        INCLUDE "playFAS*",#C4
        ENDL 
        DS .(-$)
PLAYER2
ts2=0
        INCLUDE "playFAS*",#C4
       DISPLAY "end=",$
        ORG #7000
        CALL TSINI
play_l  EI 
        HALT 
        CALL TSPLAY
        LD A,#7F
        IN A,(-2)
        RRA 
        JR C,play_l
        JP TSINI
       IFN 0
        LD A,#FE ;AY #2(1)
        CALL SHUTFFFD
        LD A,#FF ;AY #1(0)
SHUTFFFD
        LD BC,#FFFD
        OUT (C),A
        LD DE,#E00
SHUT0   LD BC,-3
        DEC D
        OUT (C),D
        LD B,#BF
        OUT (C),E
        JNZ SHUT0
        RET 
       ENDIF 084007C0075006F00
        DD 690063005D00580053004E004A00460042003E003B003700
        DD 340031002F002C00290027002500230021001F001D001C00
        DD 1A00190017001600150014001200110010000F000E000D00
ENDIF 
IF0 .{module+99}-3