Changes

Jump to: navigation, search

PROTRACKER372 EMPTYTRK H

22,871 bytes removed, 23:09, 14 February 2020
Replaced content with "emptytrkC��þ���+Ç ORG #DC00 LD HL,$ JR $+2 LD HL,#E LD BC,-3 DEC L OUT (C),L LD B,#BF OU..."
mic&rc C��ZY�Z-╚;player mic,rc,hrip SLOW;todo frq нов.ноты 3xxx считать заранее,ч/з п/пtwice=1;перемещаемый модуль и многокр.инициализацияfrq=1;all freq tablesfrqrosh=1;all freq tables(3.4x)by Roshin IFN frqrosh twice=1 frq=1 ENDIF hrip=0;при hrip=1 ниже включить:smpfix=1;vol,T,E/N cumulations in SMPssld12=1;glisses 1,2port3=1;tone port.dsmp4=1;smp.offsetdorn5=1;orn.offsetvib6=1;vibrateEsld9A=1;env.glissts2=0;2nd TS player;играет пат47 вместо пат0 и т.д.;emptytrkC��þ���+Ç ORG #720..#B3C MACRO ornsmpornPP ADD A,A ADD A,tba_orn-tba_smpsmpPP ADD A,tba_smpDC00 LD L,A LD H,'compile LD A,(HL),(BC),A$ INC L,BCJR $+2 LD A,(HL),(BC),A XOR A RET ;16 ENDM   MACRO npushNPUSH RLA ADD A,L#E LD LBC,A-3 LD A,(HL) INC DEC 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
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
OUT (C),EH
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
INIT LD (LL8df4),DE LD IX,l8FA0 LD DE,l8FA3 ;NAME LD A,#D LD BCDS 100,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,3LL8e09 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 initCALLER JP 0LL8df4=$-2DISPLAY "moduleend=#C000END ELSE ENDmodule 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 frqIF0 .{module+99}-0 ORG tab_frq ;INCBIN "tb_PT DD 220C730BCF0A330AA109170994081908A4073707CF066D06 DD 1106BA0567051A05D0048B044A040C04D2039B0367033703 DD 0803DD02B4028D026802460225020602E901CE01B4019B01 DD 84016E015A0146013401230112010301F500E700DA00CE00 DD C200B700AD00A3009A009100890082007A0073006D006700 DD 61005C00560052004D004900450041003D003A0036003300 DD 31002E002B00290027002400220020001F001D001B001A00 DD 180017001600140013001200110010000F000E000D000C00ENDIF 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 1A00190017001600150014001200110010000F000E000D00ENDIF 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 1A00180017001600140013001200110010000F000E000D00ENDIF ENDIF ,$ DISPLAY "SIZE=save #DC00,",END$-compile  ORG #7000DC00 IF0 hrip DI CALL compileplay_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

Navigation menu