(Tags: Mobile edit, Mobile web edit) |
(Tags: Mobile edit, Mobile web edit) |
Line 1: |
Line 1: |
− | mic&rc C��ZY�Z-╚;player mic,rc,hrip SLOW
| + | emptytrkC��þ���+Ç ORG #DC00 |
− | ;todo frq нов.ноты 3xxx считать заранее,ч/з п/п
| + | LD HL,$ |
− | twice=1;перемещаемый модуль и многокр.инициализация
| + | JR $+2 |
− | frq=1;all freq tables
| + | LD HL,#E |
− | frqrosh=1;all freq tables(3.4x)by Roshin
| + | LD BC,-3 |
− | IFN frqrosh
| + | DEC L |
− | twice=1
| |
− | frq=1
| |
− | ENDIF
| |
− | hrip=0;при hrip=1 ниже включить:
| |
− | smpfix=1;vol,T,E/N cumulations in SMPs
| |
− | sld12=1;glisses 1,2
| |
− | port3=1;tone port.
| |
− | dsmp4=1;smp.offset
| |
− | dorn5=1;orn.offset
| |
− | vib6=1;vibrate
| |
− | Esld9A=1;env.gliss
| |
− | ts2=0;2nd TS player;играет пат47 вместо пат0 и т.д.
| |
− | ;#720..#B3C
| |
− | MACRO ornsmp
| |
− | ornPP ADD A,A
| |
− | ADD A,tba_orn-tba_smp
| |
− | smpPP ADD A,tba_smp
| |
− | LD L,A | |
− | LD H,'compile
| |
− | LD A,(HL),(BC),A
| |
− | INC L,BC | |
− | LD A,(HL),(BC),A | |
− | XOR A
| |
− | RET ;16
| |
− | ENDM
| |
− | | |
− | MACRO npush
| |
− | NPUSH RLA
| |
− | ADD A,L
| |
− | LD L,A | |
− | LD A,(HL) | |
− | INC L
| |
− | LD H,(HL)
| |
− | LD L,A
| |
− | EX (SP),HL
| |
− | LD A,(BC)
| |
− | EXA
| |
− | JP (HL)
| |
− | ENDM
| |
− | | |
− | MACRO outer
| |
− | OUTI
| |
− | OUTER LD B,D
| |
| OUT (C),L | | OUT (C),L |
− | LD B,E
| |
− | DEC A
| |
− | JR NZ,OUTER-2
| |
− | RET
| |
− | ENDM
| |
− |
| |
− | MACRO swaper
| |
− | NEWF0 DEC E
| |
− | IFN twice
| |
− | LD A,(DE),C,A
| |
− | ENDIF
| |
− | LD A,(HL),(DE),A
| |
− | IFN twice
| |
− | LD (HL),C
| |
− | ENDIF
| |
− | DEC E
| |
− | DEC HL
| |
− | NEWFdj DJNZ NEWF0
| |
− | INC B,E
| |
− | JR NZ,NEWF0
| |
− | ENDM
| |
− |
| |
− | MACRO shut
| |
− | LD DE,#E00
| |
− | LD BC,-3
| |
− | DEC D
| |
− | OUT (C),D
| |
| LD B,#BF | | LD B,#BF |
− | OUT (C),E | + | OUT (C),H |
| JR NZ,$-10 | | JR NZ,$-10 |
− | ENDM
| |
− |
| |
− | MACRO eipp
| |
− | EiPP LD (Ei_form+1),A
| |
− | LD A,(DE),H,A
| |
− | INC DE
| |
− | LD A,(DE),L,A
| |
− | INC DE
| |
− | LD (Ei_frq+1),HL
| |
− | LD A,16
| |
− | RET
| |
− | ENDM
| |
− |
| |
− | MACRO l
| |
− | LD A,(DE)
| |
− | INC DE
| |
− | LD (\0),A
| |
− | RET
| |
− | ENDM
| |
− |
| |
− | MACRO gethl
| |
− | IGETHL INC DE
| |
− | GETHL EX DE,HL
| |
− | LD E,(HL)
| |
− | INC HL
| |
− | LD D,(HL)
| |
− | INC HL
| |
− | EX DE,HL
| |
− | XOR A
| |
− | RET
| |
− | ENDM
| |
− |
| |
− | IFN hrip
| |
− | compile LD HL,module+30
| |
− | JP INIT
| |
− | JP PLAY
| |
− | ELSE
| |
− | ORG #C000
| |
− | compile
| |
− | LD HL,module
| |
− | JR $+5
| |
− | JP play
| |
− | ;DI
| |
− | ENDIF
| |
− | init
| |
− | IFN twice
| |
− | LD (ia_pos0+1),HL
| |
− | PUSH HL
| |
− | IFN frq
| |
− | LD BC,99
| |
− | ADD HL,BC
| |
− | IFN frqrosh
| |
− | PUSH HL
| |
− | LD E,(HL)
| |
− | LD D,B
| |
− | LD HL,NT_DATA
| |
− | LD BC,T_
| |
− | ADD HL,DE
| |
− | ADD HL,DE
| |
− | ADD HL,DE
| |
− | LD E,(HL)
| |
− | CALL MAKEfrq
| |
− | POP HL
| |
− | POP BC
| |
− | INC HL
| |
− | PUSH HL
| |
− | INC HL
| |
− | ELSE ;frqrosh=0
| |
− | LD B,(HL)
| |
− | EX DE,HL
| |
− | OLDfrq LD HL,0
| |
− | CALL SWAPpp ;inc de
| |
− | LD HL,tab0frq+#8E
| |
− | DJNZ $+3
| |
− | LD L,B
| |
− | DJNZ $+5
| |
− | LD HL,tab2frq+#8E
| |
− | DJNZ $+3
| |
− | DEC HL
| |
− | CALL SWAPpp ;inc de
| |
− | EX DE,HL
| |
− | POP BC
| |
− | ENDIF
| |
− | ELSE ;twice=1&frq=0
| |
− | LD BC,100
| |
− | ADD HL,BC
| |
− | POP BC
| |
− | PUSH HL
| |
− | INC HL
| |
− | ENDIF
| |
− | LD (sav_SP0+1),SP
| |
− | LD SP,HL
| |
− | ELSE ;twice=0
| |
− | LD (sav_SP0+1),SP
| |
− | IFN frq
| |
− | LD SP,module+99
| |
− | POP BC
| |
− | LD B,C
| |
− | IF0 hrip
| |
− | DEC HL
| |
− | ENDIF
| |
− | DEC B
| |
− | JR Z,NOsWAP
| |
− | DJNZ $+5
| |
− | LD HL,tab2frq+#8E
| |
− | DEC B
| |
− | LD DE,tab_frq+#BF
| |
− | LD B,49
| |
− | JR Z,NEWFdj-1
| |
− | swaper
| |
− | NOsWAP
| |
− | LD BC,module
| |
− | ELSE ;twice=0&frq=0
| |
− | LD B,H,C,L
| |
− | LD SP,module+101
| |
− | ENDIF
| |
− | ENDIF
| |
− | POP AF,HL
| |
− | ADD HL,BC
| |
− | LD (Psa_chn+1),HL
| |
− | LD HL,tba_smp
| |
− | ia_s0 EX DE,HL
| |
− | POP HL
| |
− | ADD HL,BC
| |
− | EX DE,HL
| |
− | LD (HL),E
| |
− | INC L
| |
− | LD (HL),D
| |
− | INC L
| |
− | JR NZ,ia_s0
| |
− | IFN twice
| |
− | INC L
| |
− | LD H,L
| |
− | LD (int_qty),HL
| |
− | LD (B_qty),HL
| |
− | LD (Psa_beg+1),SP
| |
− | DEC H
| |
− | ELSE
| |
− | LD H,L
| |
− | ENDIF
| |
− | LD L,A
| |
− | ADD HL,SP
| |
− | LD (Psa_lop+1),HL
| |
− | sav_SP0 LD SP,0
| |
− | IFN twice
| |
− | XOR A
| |
− | LD (Am_vol+1),A ;NO ENV
| |
− | LD (Bm_vol+1),A
| |
− | LD (Cm_vol+1),A
| |
− | ;LD HL,(tba_orn)
| |
− | LD HL,DUMMYORN
| |
− | LD (Ao_adr+1),HL
| |
− | LD (Bo_adr+1),HL
| |
− | LD (Co_adr+1),HL
| |
− | ;LD HL,(tba_smp)
| |
− | LD (As_adr+1),HL
| |
− | LD (Bs_adr+1),HL
| |
− | LD (Cs_adr+1),HL
| |
− | ;LD HL,tab_vol+16 =DUMMYORN
| |
− | LD (Ach_adr+1),HL
| |
− | SUB 16 ;FIX
| |
− | LD (Ag_vol+1),A ;VOL=15
| |
− | LD (Bg_vol+1),A
| |
− | LD (Cg_vol+1),A
| |
− | SBC A,A
| |
− | LD (Avb_lok+1),A
| |
− | LD (Bvb_lok+1),A
| |
− | LD (Cvb_lok+1),A
| |
− | IFN frq
| |
− | IFN frqrosh
| |
− | POP DE
| |
− | eff_tmp l temp+1
| |
− | ELSE
| |
− | RET
| |
− | ENDIF
| |
− | ornsmp
| |
− | ELSE ;twice=1&frq=0
| |
− | POP DE
| |
− | eff_tmp l temp+1
| |
− | outer ;10
| |
− | gethl ;9
| |
− | eipp ;15
| |
− | ENDIF
| |
− | ELSE ;twice=0
| |
− | LD DE,module+100
| |
− | eff_tmp l temp+1
| |
− | IF0 frq
| |
− | ornsmp ;16
| |
− | eipp ;15
| |
− | ENDIF
| |
− | ENDIF
| |
− | IF0 Esld9A
| |
− | Eef_sld=0
| |
− | ENDIF
| |
− | MACRO tabl
| |
− | IF0 sld12
| |
− | \0ef_slT=0
| |
− | ENDIF
| |
− | IF0 port3
| |
− | \0ef_nsT=0
| |
− | ENDIF
| |
− | IF0 dsmp4
| |
− | \0ef_dSm=0
| |
− | ENDIF
| |
− | IF0 dorn5
| |
− | \0ef_dOr=0
| |
− | ENDIF
| |
− | IF0 vib6
| |
− | \0ef_vib=0
| |
− | ENDIF
| |
− | \0_eff DW \0ef_slT ;1/2xxx
| |
− | DW \0ef_nsT ;3xxx
| |
− | DW \0ef_dSm ;4.xx
| |
− | DW \0ef_dOr ;5.xx
| |
− | DW \0ef_vib ;6.xx
| |
− | DS 4,1
| |
− | DW Eef_sld
| |
− | DW eff_tmp
| |
− | IFN $-18!$&#FF00
| |
− | DISPLAY "ERROR \0_eff
| |
− | ENDIF
| |
− | ENDM
| |
− | IF0 twice
| |
− | outer ;10
| |
− | npush ;11
| |
− | tabl A
| |
− | tabl B
| |
− | tabl C
| |
− | B_qty=$-6
| |
− | ENDIF
| |
− | tba_smp DS 64
| |
− | tba_orn DS 32
| |
− | DISPLAY $
| |
− | tab_vol
| |
− | frq_A DW 0
| |
− | frq_B DW 0
| |
− | frq_C DW 0
| |
− | N_frq DB 0 ;;4
| |
− | DB 1 ;mix ;no_use
| |
− | vol_A DB 0
| |
− | vol_B DB 0
| |
− | vol_C DB 0
| |
− | frq_E DW 0
| |
− | E_form DB 0
| |
− | int_qty DB 1
| |
− | A_qty DB 1
| |
− | DUMMYORN
| |
− | DUMMYSMP
| |
− | DB 0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1
| |
− | DB 0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2
| |
− | DB 0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3
| |
− | DB 0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4
| |
− | DB 0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5
| |
− | DB 0,0,1,1,2,2,2,3,3,4,4,4,5,5,6,6
| |
− | DB 0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7
| |
− | DB 0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8
| |
− | DB 0,1,1,2,2,3,4,4,5,5,6,7,7,8,8,9
| |
− | DD 0001010203030405050607070809090A
| |
− | DD 000101020304040506070708090A0A0B
| |
− | DD 0001020203040506060708090A0A0B0C
| |
− | DD 00010203030405060708090A0A0B0C0D
| |
− | DD 00010203040506070708090A0B0C0D0E
| |
− | DD 000102030405060708090A0B0C0D0E0F
| |
− | tab_frq
| |
− | DS #C0
| |
− | IFN twice
| |
− | tabl A
| |
− | tabl B
| |
− | tabl C
| |
− | B_qty=$-6
| |
− | ENDIF
| |
− | IFN ?NPUSH
| |
− | npush ;11
| |
− | ENDIF
| |
− | IFN ?OUTER
| |
− | outer ;10
| |
− | ENDIF
| |
− | IFN ?ornPP
| |
− | ornsmp ;16
| |
− | ENDIF
| |
− | IFN ?EiPP
| |
− | eipp ;15
| |
− | ENDIF
| |
− | IFN ?GETHL
| |
− | gethl ;9
| |
− | ENDIF
| |
− | C_qty=B_qty+1
| |
− | play
| |
− | LD HL,int_qty
| |
− | DEC (HL)
| |
− | JP NZ,NOINS
| |
− | ;--- nota_A + calc_next_position ---
| |
− | INC HL
| |
− | ;LD HL,A_qty
| |
− | DEC (HL)
| |
− | JR NZ,Aq_0
| |
− | Ach_adr LD DE,tab_vol+16
| |
− | LD A,(DE)
| |
− | OR A
| |
− | JR NZ,Ps_n0
| |
− | LD (N_frq),A ;;5!!!
| |
− | LD D,A ;;
| |
− | LD (sav_SP2+1),SP
| |
− | Psa_beg LD HL,module+201
| |
− | LD A,(HL)
| |
− | INC A ;AAA;6
| |
− | JR NZ,Ps_n1 ;NC ;6
| |
− | Psa_lop LD HL,module+201
| |
− | Ps_n1
| |
− | IFN ts2
| |
− | LD A,47*3
| |
− | SUB (HL)
| |
− | LD E,A
| |
− | ELSE
| |
− | LD E,(HL) ;6
| |
− | ENDIF
| |
− | INC HL
| |
− | LD (Psa_beg+1),HL
| |
− |
| |
− | Psa_chn LD HL,0
| |
− | ADD HL,DE
| |
− | ADD HL,DE
| |
− | LD SP,HL
| |
− | POP HL
| |
− | ia_pos0 LD BC,module
| |
− | ADD HL,BC
| |
− | EX DE,HL ;DE=adr_chn_A
| |
− | POP HL
| |
− | ADD HL,BC ;HL=adr_chn_B
| |
− | LD (Bch_adr+1),HL
| |
− | POP HL
| |
− | ADD HL,BC ;HL=adr_chn_C
| |
− | LD (Cch_adr+1),HL
| |
− | sav_SP2 LD SP,0
| |
− | Ps_n0
| |
− | CALL An_clc1
| |
− | LD (Ach_adr+1),DE
| |
− | Ai_qty LD A,0,(A_qty),A
| |
− | DJNZ Aq_0
| |
− | LD H,B,L,B
| |
− | LD (Asl_dsp+1),HL
| |
− | Aq_0
| |
− | ;--- nota_B ---
| |
− | LD HL,B_qty
| |
− | DEC (HL)
| |
− | JR NZ,Bq_0
| |
− | Bch_adr LD DE,0
| |
− | CALL Bn_clc1
| |
− | LD (Bch_adr+1),DE
| |
− | Bi_qty LD A,0,(B_qty),A
| |
− | DJNZ Bq_0
| |
− | LD H,B,L,B
| |
− | LD (Bsl_dsp+1),HL
| |
− | Bq_0
| |
− | ;--- nota_C ---
| |
− | LD HL,C_qty
| |
− | DEC (HL)
| |
− | JR NZ,Cq_0
| |
− | Cch_adr LD DE,0
| |
− | CALL Cn_clc1
| |
− | LD (Cch_adr+1),DE
| |
− | Ci_qty LD A,0,(C_qty),A
| |
− | DJNZ Cq_0
| |
− | LD H,B,L,B
| |
− | LD (Csl_dsp+1),HL
| |
− | Cq_0
| |
− | ;--- install_E ---
| |
− | Ei_form LD A,0 ;env_form
| |
− | LD (E_form),A
| |
− | OR A
| |
− | JR Z,temp
| |
− | Ei_frq LD HL,0 ;env_frq
| |
− | LD (E_frq+1),HL
| |
− | XOR A
| |
− | LD L,A
| |
− | LD H,A
| |
− | LD (Ei_form+1),A
| |
− | LD (Esl_frq+1),HL
| |
− | LD (Esl_stp+1),A
| |
− | temp LD A,3,(int_qty),A
| |
− | NOINS
| |
− | play_0 LD L,0 ;smp_sl_env
| |
− | EXX
| |
− | N_add LD IX,0 ;HX=noise LX=mix
| |
− | LD (sav_SP1+1),SP
| |
− | E_ins0 JR Ei_Q
| |
− | Esl_ids LD HL,0 ;stp_sld_env
| |
− | LD (Esl_sds+1),HL
| |
− | Esl_ist LD A,0 ;stp_sld_p
| |
− | LD (Esl_stp+1),A
| |
− | LD (Esl_sts+1),A
| |
− | LD A,24
| |
− | LD (E_ins0),A
| |
− | Ei_Q
| |
− | MACRO sam1
| |
− | \0vb_lok LD A,-1
| |
− | LD H,A
| |
− | INC A
| |
− | JP Z,\0vb_n0
| |
− | \0s_adr LD SP,DUMMYSMP ;sample
| |
− | POP DE ;loop E=beg D=end
| |
− | \0s_dsp LD A,0
| |
− | LD L,A
| |
− | INC A
| |
− | CP D
| |
− | JR C,$+3 ;bug NZ/C
| |
− | LD A,E
| |
− | LD (\0s_dsp+1),A
| |
− | ADD HL,HL,HL,HL
| |
− | ADD HL,SP
| |
− | LD SP,HL
| |
− | POP DE ;D= Nm ts ns Tm v3 v2 v1 v0
| |
− | LD A,D ;E= sv +- N4 N3 N2 N1 N0 Em
| |
− | IFN smpfix
| |
− | OR #F0
| |
− | LD L,A
| |
− | LD A,E
| |
− | ADD A,A
| |
− | \0s_Vsl LD A,16
| |
− | JR NC,\0s_VslG
| |
− | JP M,\0s_n2
| |
− | SUB 1
| |
− | JR $+4
| |
− | \0s_n2 CP 31
| |
− | ADC A,0
| |
− | LD (\0s_Vsl+1),A
| |
− | \0s_VslG
| |
− | ADD A,L
| |
− | JR C,$+3
| |
− | XOR A
| |
− | CP 16
| |
− | JR C,$+4
| |
− | LD A,15
| |
− | ELSE
| |
− | AND 15
| |
− | ENDIF
| |
− | \0g_vol ADD A,#F0
| |
− | LD L,A,H,'tab_vol
| |
− | LD A,(HL)
| |
− | SRL E
| |
− | JR C,$+4
| |
− | \0m_vol OR 0
| |
− | EXA
| |
− | LD A,D
| |
− | RLCA
| |
− | JR C,\0s_n5
| |
− | IFN smpfix
| |
− | \0s_Nsl LD A,0
| |
− | ADD A,E
| |
− | BIT 5,D
| |
− | JR Z,$+5
| |
− | LD (\0s_Nsl+1),A
| |
− | LD HX,A
| |
− | ELSE
| |
− | LD HX,E
| |
− | ENDIF
| |
− | JR \0s_n7
| |
− |
| |
− | \0s_n5 LD A,E
| |
− | AND 31
| |
− | CP 16
| |
− | JR C,$+4
| |
− | OR #F0
| |
− | IFN smpfix
| |
− | \0s_Esl ADD A,0
| |
− | BIT 5,D
| |
− | JR Z,$+5
| |
− | LD (\0s_Esl+1),A
| |
− | ENDIF
| |
− | EXX
| |
− | ADD A,L
| |
− | LD L,A
| |
− | EXX
| |
− | \0s_n7 LD A,D
| |
− | RRCA
| |
− | RRCA
| |
− | AND 36
| |
− | ENDM
| |
− |
| |
− | MACRO sam2
| |
− | LD LX,A
| |
− | IFN smpfix
| |
− | POP BC
| |
− | \0s_dtn LD HL,0 ;dsp_frq_smp
| |
− | ADD HL,BC
| |
− | BIT 6,D
| |
− | JR Z,$+5
| |
− | LD (\0s_dtn+1),HL
| |
− | EX DE,HL
| |
− | ELSE
| |
− | POP DE
| |
− | ENDIF
| |
− |
| |
− | \0o_adr LD SP,DUMMYORN ;ornament
| |
− | POP BC ;loop C=beg B=end
| |
− | \0o_dsp LD A,0
| |
− | LD L,A
| |
− | INC A
| |
− | CP B
| |
− | JR C,$+3 ;bug NZ/C
| |
− | LD A,C
| |
− | LD (\0o_dsp+1),A
| |
− | LD H,0
| |
− | ADD HL,SP
| |
− | IFN port3
| |
− | LD A,(\0s_note+1)
| |
− | ELSE
| |
− | \0s_note LD A,0
| |
− | ENDIF
| |
− | ADD A,(HL) ;dsp_orn
| |
− | ADD A,A
| |
− | JR NC,$+3
| |
− | XOR A
| |
− | LD L,A,H,'tab_frq
| |
− | LD SP,HL
| |
− | POP HL
| |
− | ADD HL,DE
| |
− | \0sl_dsp LD BC,0
| |
− | ADD HL,BC
| |
− | LD (frq_\0),HL
| |
− |
| |
− | \0sl_stp LD A,0
| |
− | DEC A
| |
− | JP M,\0sl_s0
| |
− | JR NZ,\0sl_s1
| |
− | \0sl_tfr LD DE,0
| |
− | ADD HL,DE
| |
− | EX DE,HL
| |
− | ADD HL,BC
| |
− | LD (\0sl_dsp+1),HL
| |
− | IFN port3
| |
− | JR \0sl_sts ;port off/on
| |
− | \0sl_plk
| |
− | \0sl_not LD A,0
| |
− | LD L,A
| |
− | ADD HL,HL
| |
− | LD H,'tab_frq
| |
− | LD SP,HL
| |
− | POP HL
| |
− | \0s_note CP 0
| |
− | JR NC,$+3
| |
− | EX DE,HL
| |
− | SBC HL,DE
| |
− | JR C,\0sl_sts
| |
− | LD (\0s_note+1),A
| |
− | XOR A
| |
− | LD L,A
| |
− | LD (\0sl_dsp+1),HL
| |
− | JR $+4
| |
− | ENDIF
| |
− | \0sl_sts LD A,0
| |
− | \0sl_s1 LD (\0sl_stp+1),A
| |
− | \0sl_s0 EXA
| |
− |
| |
− | \0vb_n0 LD (vol_\0),A
| |
− | IFN vib6
| |
− | \0vb_stp LD A,0
| |
− | DEC A
| |
− | JP M,\0smpQ
| |
− | JR NZ,\0vb_n1
| |
− | DEC A ;;
| |
− | LD HL,\0vb_lok+1;;
| |
− | XOR (HL) ;;
| |
− | LD (HL),A ;;4
| |
− | \0vb_frq LD A,0
| |
− | JR NZ,$+4
| |
− | \0vb_sts LD A,0
| |
− | \0vb_n1 LD (\0vb_stp+1),A
| |
− | ENDIF
| |
− | \0smpQ
| |
− | ENDM
| |
− | sam1 A
| |
− | RRCA
| |
− | RRCA
| |
− | sam2 A
| |
− | sam1 B
| |
− | RRCA
| |
− | OR LX
| |
− | sam2 B
| |
− | sam1 C
| |
− | OR LX
| |
− | sam2 C
| |
− | ;---- sampler_E ----
| |
− | EXX
| |
− | LD A,L
| |
− | Esl_frq LD DE,0 ;stp_sl_env
| |
− | E_frq LD HL,0 ;frq_env
| |
− | ADD A,L
| |
− | LD L,A
| |
− | ADD HL,DE
| |
− | LD (frq_E),HL
| |
− | Esl_stp LD A,0
| |
− | DEC A
| |
− | JP M,sav_SP1
| |
− | JR NZ,E_n0
| |
− | Esl_sds LD HL,0
| |
− | ADD HL,DE
| |
− | LD (Esl_frq+1),HL
| |
− | Esl_sts LD A,0
| |
− | E_n0 LD (Esl_stp+1),A
| |
− |
| |
− | ;---- out_to_processor ----
| |
− | sav_SP1 LD SP,0
| |
− | out_
| |
− | LD DE,#FFBF
| |
− | LD C,-3
| |
− | LD HL,frq_A
| |
− |
| |
− | LD A,7
| |
− | CALL OUTER
| |
− |
| |
− | LD A,HX ;noise
| |
− | LD (N_add+3),A
| |
− | ADD A,(HL)
| |
− | OUT (C),A
| |
− | INC L
| |
− | LD B,D
| |
− | OUT (C),L
| |
− | LD A,LX ;mix
| |
− | LD B,E
| |
− | OUT (C),A
| |
− | INC L
| |
− |
| |
− | LD A,6
| |
− | CALL OUTER
| |
− |
| |
− | OR (HL)
| |
− | RET Z
| |
− | OUT (C),A
| |
− | LD (HL),0 ;;4
| |
− | RET
| |
− |
| |
− | MACRO nota
| |
− | \0ni_not LD (\0s_note+1),A
| |
− | XOR A
| |
− | LD H,A,L,A
| |
− | LD (\0s_dsp+1),A
| |
− | LD (\0o_dsp+1),A
| |
− | LD (\0sl_stp+1),A
| |
− | LD (\0vb_lok+1),A
| |
− | IFN vib6
| |
− | LD (\0vb_stp+1),A
| |
− | ENDIF
| |
− | IFN smpfix
| |
− | LD (\0s_Nsl+1),A
| |
− | LD (\0s_Esl+1),A
| |
− | LD (\0s_dtn+1),HL
| |
− | LD A,16,(\0s_Vsl+1),A
| |
− | ENDIF
| |
− | LD B,1
| |
− | RET
| |
− |
| |
− | \0ni_vol JR NZ,\0ni_v0
| |
− | IFN vib6
| |
− | LD (\0vb_stp+1),A
| |
− | ENDIF
| |
− | DEC A
| |
− | LD (\0vb_lok+1),A
| |
− | RET
| |
− | \0ni_v0
| |
− | DUP 4
| |
− | ADD A,A
| |
− | EDUP
| |
− | LD (\0g_vol+1),A
| |
− | JR \0n_clc2
| |
− | \0ni_s_o
| |
− | LD BC,\0o_adr+1
| |
− | CALL ornPP
| |
− | \0ni_vse
| |
− | CALL NZ,EiPP
| |
− | \0ni_sm0 LD (\0m_vol+1),A
| |
− | XOR A
| |
− | LD (\0o_dsp+1),A
| |
− | LD A,(DE)
| |
− | INC DE
| |
− | JR $+4
| |
− | \0ni_smp RET Z
| |
− | ADD A,A
| |
− | LD BC,\0s_adr+1
| |
− | CALL smpPP
| |
− | \0n_clc1 LD BC,#1020
| |
− | \0n_clc2 LD A,(DE)
| |
− | INC DE
| |
− | ADD A,B
| |
− | JR C,\0ni_s_o
| |
− | ADD A,C
| |
− | JR C,\0ni_smp
| |
− | ADD A,B
| |
− | JR C,\0ni_vol
| |
− | ADD A,B
| |
− | JR C,\0ni_vqe
| |
− | ADD A,96
| |
− | JR C,\0ni_not
| |
− | ADD A,B
| |
− | JR C,\0ni_orn
| |
− | IF0 "\0 "-"B "
| |
− | ADD A,C
| |
− | JR C,\0ni_noi
| |
− | ADD A,B
| |
− | ELSE
| |
− | ADD A,48
| |
− | ENDIF
| |
− | JR C,\0ni_vse
| |
− | LD HL,-256&\0_eff+.(\0_eff+30)
| |
− | LD BC,\0s_note+1
| |
− | CALL NPUSH
| |
− | JR \0n_clc1
| |
− | IF0 "\0 "-"B "
| |
− | \0ni_noi LD (N_frq),A;GLOBALnoise
| |
− | JR \0n_clc2
| |
− | ENDIF
| |
− | \0ni_vqe JR Z,\0ni_v1
| |
− | DEC A
| |
− | JR NZ,\0ni_e0
| |
− | LD A,(DE)
| |
− | LD (\0i_qty+1),A
| |
− | INC DE
| |
− | JR \0n_clc2
| |
− |
| |
− | \0ni_e0 CALL EiPP
| |
− | \0ni_v1 LD (\0m_vol+1),A
| |
− | JR \0n_clc2
| |
− | \0ni_orn
| |
− | LD BC,\0o_adr+1
| |
− | CALL ornPP
| |
− | LD (\0o_dsp+1),A
| |
− | JR \0n_clc1
| |
− | ENDM
| |
− | nota A
| |
− | nota B
| |
− | nota C
| |
− | ;---- special_effects_COM.xxxx ----
| |
− | IFN vib6
| |
− | MACRO vib
| |
− | \0ef_vib LD A,(DE)
| |
− | INC DE
| |
− | LD (\0vb_sts+1),A
| |
− | LD (\0vb_stp+1),A
| |
− | l \0vb_frq+1
| |
− | ENDM
| |
− | vib A
| |
− | vib B
| |
− | vib C
| |
− | ENDIF
| |
− |
| |
− | IFN Esld9A
| |
− | Eef_sld LD A,(DE)
| |
− | LD (Esl_ist+1),A
| |
− | CALL IGETHL
| |
− | LD (Esl_ids+1),HL
| |
− | LD A,6,(E_ins0),A
| |
− | RET
| |
− | ENDIF
| |
− |
| |
− | IFN sld12|port3
| |
− | MACRO slT
| |
− | \0ef_slT LD A,(DE)
| |
− | LD (\0sl_stp+1),A
| |
− | LD (\0sl_sts+1),A
| |
− | CALL IGETHL ;sld_ton
| |
− | LD (\0sl_tfr+1),HL
| |
− | IFN vib6
| |
− | LD (\0vb_stp+1),A
| |
− | ENDIF
| |
− | IFN port3
| |
− | LD A,\0sl_sts-\0sl_plk
| |
− | LD (\0sl_plk-1),A ;port_off
| |
− | ENDIF
| |
− | RET
| |
− | ENDM
| |
− | slT A
| |
− | slT B
| |
− | slT C
| |
− | ENDIF
| |
− | IFN port3
| |
− | MACRO nsT
| |
− | \0ef_nsT CALL \0ef_slT
| |
− | CALL GETHL
| |
− | LD (\0sl_tfr+1),HL
| |
− | LD B,A,(\0sl_plk-1),A ;port_on
| |
− | LD HL,\0s_note+1
| |
− | LD A,(HL),(\0sl_not+1),A
| |
− | EXA
| |
− | LD (HL),A
| |
− | RET
| |
− | ENDM
| |
− | nsT A
| |
− | nsT B
| |
− | nsT C
| |
− | ENDIF
| |
− | IFN dsmp4
| |
− | Aef_dSm l As_dsp+1
| |
− | Bef_dSm l Bs_dsp+1
| |
− | Cef_dSm l Cs_dsp+1
| |
− | ENDIF
| |
− | IFN dorn5
| |
− | Aef_dOr l Ao_dsp+1
| |
− | Bef_dOr l Bo_dsp+1
| |
− | Cef_dOr l Co_dsp+1
| |
− | ENDIF
| |
− |
| |
− | IFN frq
| |
− | IF0 frqrosh
| |
− | IFN twice
| |
− | SWAPpp LD (OLDfrq+1),HL
| |
− | LD A,L
| |
− | OR A
| |
− | JR Z,eff_tmp
| |
− | PUSH BC,DE
| |
− | CP tab0frq+#8D
| |
− | LD DE,tab_frq+#BF
| |
− | LD B,49
| |
− | JR Z,NEWFdj
| |
− | swaper
| |
− | POP DE,BC
| |
− | eff_tmp LD A,(DE) ;temp
| |
− | INC DE
| |
− | LD (temp+1),A
| |
− | RET
| |
− | ENDIF
| |
− | tab2frq INCBIN "KOZASM
| |
− | tab3frq DW #CDA
| |
− | tab0frq INCBIN "KOZPT
| |
− | ELSE
| |
− | MAKEfrq
| |
− | ;Roshin
| |
− | INC HL
| |
− | EX DE,HL
| |
− | ADD HL,BC
| |
− | LD A,(DE)
| |
− | LD (COPF3),A
| |
− | INC DE
| |
− | LD A,(DE)
| |
− | ADD A,C
| |
− | LD C,A
| |
− | ADC A,B
| |
− | SUB C
| |
− | LD B,A
| |
− | PUSH BC
| |
− | LD DE,tab_frq
| |
− | PUSH DE
| |
− | LD B,12
| |
− | COPF1 PUSH BC
| |
− | LD C,(HL)
| |
− | INC HL
| |
− | PUSH HL
| |
− | LD B,(HL)
| |
− | PUSH DE
| |
− | EX DE,HL
| |
− | LD DE,23
| |
− | LD HX,8
| |
− | COPF2 SRL B
| |
− | RR C
| |
− | ;COPF3 NOP ;AND A
| |
− | LD A,C
| |
− | COPF3 ADC A,D ;=ADC 0
| |
− | LD (HL),A
| |
− | INC HL
| |
− | LD A,B
| |
− | ADC A,D
| |
− | LD (HL),A
| |
− | ADD HL,DE
| |
− | DEC HX
| |
− | JR NZ,COPF2
| |
− | POP DE
| |
− | INC DE,DE
| |
− | POP HL
| |
− | INC HL
| |
− | POP BC
| |
− | DJNZ COPF1
| |
− |
| |
− | POP HL
| |
− | POP DE
| |
− |
| |
− | ;LD A,E
| |
− | ;CP TCOLD_1
| |
− | ;JR NZ,CORR_1
| |
− | ;LD A,#FD,(FrTab+#2E),A
| |
− | CORR_1 LD A,(DE)
| |
− | AND A
| |
− | RET Z
| |
− | INC DE
| |
− | RRA
| |
− | PUSH HL
| |
− | PUSH AF
| |
− | ADD A,A
| |
− | LD C,A
| |
− | ADD HL,BC
| |
− | POP AF
| |
− | INC (HL)
| |
− | JR NC,$+4
| |
− | DEC (HL),(HL)
| |
− | POP HL
| |
− | ;AND A
| |
− | ;SBC HL,BC
| |
− | JR CORR_1
| |
− |
| |
− | NT_DATA
| |
− | DB T_NEW_0-T_
| |
− | ADC A,D
| |
− | DB TCNEW_0-T_
| |
− | ;DB T_OLD_0-T_
| |
− | ;AND A
| |
− | ;DB TCOLD_0-T_
| |
− |
| |
− | DB T_NEW_1-T_
| |
− | AND A
| |
− | DB TCNEW_1-T_
| |
− | ;DB T_OLD_1-T_
| |
− | ;AND A
| |
− | ;DB TCOLD_1-T_
| |
− |
| |
− | DB T_NEW_2-T_
| |
− | ADC A,D
| |
− | DB TCNEW_2-T_
| |
− | ;DB T_OLD_2-T_
| |
− | ;NOP
| |
− | ;DB TCOLD_2-T_
| |
− |
| |
− | DB T_NEW_3-T_
| |
− | ADC A,D
| |
− | DB TCNEW_3-T_
| |
− | ;DB T_OLD_3-T_
| |
− | ;NOP
| |
− | ;DB TCOLD_3-T_
| |
− | T_
| |
− | ;COLD_0 DB #00+1,#04+1,#08+1,#0A+1,#0C+1,#0E+1,#12+1,#14+1
| |
− | ; DB #18+1,#24+1,#3C+1,0
| |
− | TCNEW_1
| |
− | TCOLD_1 DB #5C+1,0
| |
− | ;COLD_2 DB #30+1,#36+1,#4C+1,#52+1,#5E+1,#70+1,#82,#8C,#9C
| |
− | ; DB #9E,#A0,#A6,#A8,#AA,#AC,#AE,#AE,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
| |
− | ;_OLD_2 DW #0D3E*2,#0C80*2,#0BCC*2,#0B22*2,#0A82*2,#09EC*2
| |
− | ; DW #095C*2,#08D6*2,#0858*2,#07E0*2,#076E*2,#0704*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
| |
− | ENDIF
| |
− | IFN hrip
| |
− | l8FA0=#8FA0
| |
− | l8FA3=#8FA3
| |
− | CALL play
| |
− | LD A,#FD
| |
− | IN A,(-2)
| |
− | BIT 3,A
| |
− | JR NZ,$+8
| |
− | CALL play,play
| |
− | LD HL,#5A00
| |
− | LD E,8
| |
− | CALL LL8d9e,LL8d9e
| |
− | LL8d9e LD BC,#FFFD
| |
− | OUT (C),E
| |
− | IN A,(C)
| |
− | AND #F
| |
− | JR Z,LL8db2
| |
− | LD B,A
| |
− | LL8dad LD (HL),7
| |
− | INC HL
| |
− | DJNZ LL8dad
| |
− | LL8db2
| |
− | CPL
| |
− | ADD A,33
| |
− | LD B,A
| |
− | LL8dba LD (HL),0
| |
− | INC HL
| |
− | DJNZ LL8dba
| |
− | INC DE
| |
| RET | | RET |
− | INIT
| + | DS 100,32 |
− | LD (LL8df4),DE
| + | DISPLAY "module end=",$ |
− | LD IX,l8FA0
| + | DISPLAY "save #DC00,",$-#DC00 |
− | LD DE,l8FA3 ;NAME | + | A |
− | LD A,#D
| |
− | LD BC,32
| |
− | LDIR
| |
− | LD (DE),A
| |
− | INC DE
| |
− | INC HL,HL,HL,HL
| |
− | XOR A
| |
− | LD BC,32
| |
− | LDIR
| |
− | LD (DE),A
| |
− | LD (IX),A
| |
− | LD HL,#616,(l8FA0+1),HL
| |
− | CALL CALLER
| |
− | LD HL,#010,(l8FA0+1),HL
| |
− | LD HL,l8FA3
| |
− | LD A,3
| |
− | LL8e09 LD B,#F
| |
− | LD (HL),#7F
| |
− | INC HL
| |
− | DJNZ $-3
| |
− | LD (HL),#D
| |
− | INC HL
| |
− | DEC A
| |
− | JR NZ,LL8e09
| |
− | LD (HL),A
| |
− | DI
| |
− | shut
| |
− | LD A,#17,(#69A8),A
| |
− | LD DE,tab_frq+#BF
| |
− | LD HL,tab0frq+#8E
| |
− | CALL init
| |
− | CALLER JP 0
| |
− | LL8df4=$-2
| |
− | module=#C000 | |
− | END
| |
− | ELSE
| |
− | END
| |
− | module
| |
− | INCBIN "si*.m"
| |
− | ENDIF
| |
− | ORG tab_frq
| |
− | ;INCBIN "tb_ST
| |
− | DD F80E100E600D800CD80B280B880AF0096009E0085808E007
| |
− | DD 7C070807B0064006EC0594054405F804B00470042C04FD03
| |
− | DD BE03840358032003F602CA02A2027C02580238021602F801
| |
− | DD DF01C201AC0190017B01650151013E012C011C010A01FC00
| |
− | DD EF00E100D600C800BD00B200A8009F0096008E0085007E00
| |
− | DD 770070006B0064005E00590054004F004B00470042003F00
| |
− | DD 3B003800350032002F002C002A0027002500230021001F00
| |
− | DD 1D001C001A00190017001600150013001200110010000F00
| |
− | IF0 frq
| |
− | IF0 .{module+99}-0
| |
− | ORG tab_frq
| |
− | ;INCBIN "tb_PT
| |
− | DD 220C730BCF0A330AA109170994081908A4073707CF066D06
| |
− | DD 1106BA0567051A05D0048B044A040C04D2039B0367033703
| |
− | DD 0803DD02B4028D026802460225020602E901CE01B4019B01
| |
− | DD 84016E015A0146013401230112010301F500E700DA00CE00
| |
− | DD C200B700AD00A3009A009100890082007A0073006D006700
| |
− | DD 61005C00560052004D004900450041003D003A0036003300
| |
− | DD 31002E002B00290027002400220020001F001D001B001A00
| |
− | DD 180017001600140013001200110010000F000E000D000C00
| |
− | ENDIF
| |
− | IF0 .{module+99}-2
| |
− | ORG tab_frq
| |
− | ;INCBIN "tb_ASM
| |
− | DD 100D550CA40BFC0A5F0ACA093D09B8083B08C5075507EC06
| |
− | DD 88062A06D2057E052F05E5049E045C041D04E203AB037603
| |
− | DD 44031503E902BF02980272024F022E020F02F101D501BB01
| |
− | DD A2018B01740160014C013901280117010701F900EB00DD00
| |
− | DD D100C500BA00B000A6009D0094008C0084007C0075006F00
| |
− | DD 690063005D00580053004E004A00460042003E003B003700
| |
− | DD 340031002F002C00290027002500230021001F001D001C00
| |
− | DD 1A00190017001600150014001200110010000F000E000D00
| |
− | ENDIF
| |
− | IF0 .{module+99}-3
| |
− | ORG tab_frq
| |
− | ;INCBIN "tb_REAL
| |
− | DD DA0C220C730BCF0A330AA109170994081908A4073707CF06
| |
− | DD 6D061106BA0567051A05D0048B044A040C04D2039B036703
| |
− | DD 37030803DD02B4028D026802460225020602E901CE01B401
| |
− | DD 9B0184016E015A0146013401230112010301F500E700DA00
| |
− | DD CE00C200B700AD00A3009A009100890082007A0073006D00
| |
− | DD 670061005C00560052004D004900450041003D003A003600
| |
− | DD 330031002E002B00290027002400220020001F001D001B00
| |
− | DD 1A00180017001600140013001200110010000F000E000D00
| |
− | ENDIF
| |
− | ENDIF
| |
− | DISPLAY "SIZE=",END-compile
| |
− | | |
− | ORG #7000
| |
− | IF0 hrip
| |
− | DI
| |
− | CALL compile
| |
− | play_l EI
| |
− | HALT
| |
− | CALL play
| |
− | LD A,#7F
| |
− | IN A,(-2)
| |
− | RRA
| |
− | JR C,play_l
| |
− | ENDIF
| |
− | shut
| |
− | RET (DE),A
| |
− | INC DE
| |
− | INC HL,HL,HL,HL
| |
− | XOR A
| |
− | LD BC,32
| |
− | LDIR
| |
− | LD (DE),A
| |
− | LD (IX),A
| |
− | LD HL,#616,(l8FA0+1),HL
| |