Changes

Jump to: navigation, search

PROTRACKER372 PLAYFAS4 H

1,378 bytes added, 20:08, 8 March 2020
no edit summary
playFAS4C���i�jTя ;fast(long) player,can be INCLUDEd ;#E21 3.31 by Nick/GDC Воронеж'97 ;#D86 3.51 fix Mm<M,MOnS+eR Самара 26xii00 ;#C03 3.695 fix AlCo 1vi01-26xi05 ;#C11 3.699 fix AlCo (3xxx chnA/B when old 3xxx ends только что) IFN ?frq frq=1;all freq tables(3.4x) ENDIF IFN ?msx msx=0 ENDIF IFN ?smpfix smpfix=1;vol,T,E/N cumulations in SMPs ENDIF IFN ?port3 port3=1;tone port. ENDIF IFN ?vib6 vib6=1;vibrate ENDIF IFN ?ts2 ts2=0;2nd TS player;играет пат47 вместо пат0 и т.д. ENDIF IFN ?jp-2 MACRO jp JR \0 ;JP ENDM ENDIF IFN ?m4-2 MACRO m4 SLA L,L ENDM ENDIF IFN ?shut-2 MACRO shut ;LD HL,#E IFN msx LD BC,#A0 ELSE LD BC,-3
ENDIF
DEC L OUT (C),L IFN ?msxmsx=0 LD C,#A1 ELSE LD B,#BF
ENDIF
OUT (C),A;0/255 JR NZ,$-10 ENDM ENDIF IFN ?smpfixesld-2smpfix= MACRO esld Eef_sld LD A,(DE) INC DE LD (Esl_ist+1;vol),A LD A,(DE),L,A INC DE LD A,(DE),H,A INC DE LD (Esl_ids+1),HL LD A,6,(E_ins0),A RET ENDM ENDIF IFN ?l-2 MACRO l LD A,T(DE) INC DE LD (\0),E/N cumulations in SMPsA RET ENDM ENDIF IF0 $-#8000 StAnDaLoNe ORG #C000
ENDIF
compile LD HL,module JR install JP play IFN ?port3frqport3=1;tone port. JR stop
ENDIF
install DI LD (sav_SP0+1),SP LD (ia_pos0+1),HL IFN frq PUSH HL LD DE,100 ADD HL,DE PUSH DE PUSH HL DEC HL LD E,(HL) LD HL,NT_DATA LD BC,T_ ADD HL,DE ADD HL,DE ADD HL,DE LD E,(HL) CALL MAKEfrq POP HL POP DE POP BC ELSE LD B,H,C,L LD DE,100 ADD HL,DE ENDIF LD A,(HL) INC HL LD (temp+1),A LD SP,HL ADD HL,DE LD (Psa_beg+1),HL POP AF LD E,A ADD HL,DE LD (Psa_lop+1),HL POP HL ADD HL,BC LD (Psa_chn+1),HL IFN ?vib6LD 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 INC L LD H,L LD (A_qty),HL LD (C_qty),HL sav_SP0 LD SP,0 stop LD HL,DUMMYORN LD (Ao_adr+1),HL LD (Bo_adr+1),HL LD (Co_adr+1),HL LD (Asi_adr+1),HL LD (Bsi_adr+1),HL LD (Cs_adr+1),HL LD (Ach_adr+1),HL XOR A LD (Am_vol+1),A LD (Bm_vol+1),A LD (Cm_vol+1),Avib6= LD (Ei_form+1),A ;vibrateno glu glu after switch module SUB 16 ;FIX LD (Agi_vol+1),A LD (Bgi_vol+1),A LD (Cg_vol+1),A SBC A,A LD (Avb_lok+1),A LD (Cvb_lok+1),A LD (Bvb_lok+1),A XOR A IF0 frq NOP ENDIF shut RET IF0 frq esld
ENDIF
tba_smp DS 64,0 tba_orn DS 32,0 DISPLAY $ tab_vol frq_A DB 0,0 frq_B DB 0,0 frq_C DB 0,0 N_frq DB 0 ;;4 DB 0 ;mix ;no_use vol_A DB 0 vol_B DB 0 vol_C DB 0 frq_E DB 0,0 E_form DB 0 ;;4 DUMMYORN DUMMYSMP DS 2 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 ?ts2tabl-2 MACRO tablts2 IF0 port3 \0ef_nsT=0;2nd TS player;играет пат47 вместо пат0 и т.д.
ENDIF
  IFN ?jp-2 MACRO jpIF0 vib6 JR \0ef_vib=0 ;JP ENDM
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 IFN ?m4-2IF0 vib6 DS 4,1 MACRO m4ELSE SLA L \0ef_vib LD A,L(DE) INC DE ENDM JR \0VIB
ENDIF
DW Eef_sld IFN ?shut-2 DW eff_tmp MACRO shut ;LD HL,#E IFN msx LD BC,#A0 ELSE LD BC,$-3 ENDIF DEC L OUT (C),L IFN msx LD C,18!$&#A1FF00 ELSE LD B,#BF ENDIF OUT (C),A;0/255 JR NZ,$-10 ENDM DISPLAY "ERROR \0_eff
ENDIF
  IFN ?esld-2 MACRO esldvib6Eef_sld ;0ef_vib LD A,(DE) ;INC DE \0VIB LD (Esl_ist\0vb_ist+1),A;fix fr/st LD A,(DE),L,A INC DEIF0 "\0 "-"C " LD A,(DE),H,A INC DE LD (Esl_ids\0vb_stp+1),HL LD A,6,(E_ins0),A RET ENDM
ENDIF
  IFN ?l-2 MACRO l LD A,(DE) INC DE LD (\00vb_ifr+1),A;fix st/fr RET IFN "\0 "-"C " ENDM LD A,6,(\0_ins4),A
ENDIF
  IF0 $-#8000StAnDaLoNe ORG #C000 ENDIF compile LD HL,module JR install JP play IFN frq JR stop ENDIF install DI LD (sav_SP0+1),SP LD (ia_pos0+1),HL IFN frq PUSH HL LD DE,100 ADD HL,DE PUSH DE PUSH HL DEC HL LD E,(HL) LD HL,NT_DATA LD BC,T_ ADD HL,DE ADD HL,DE ADD HL,DE LD E,(HL) CALL MAKEfrq POP HL POP DE POP BC ELSE LD B,H,C,L LD DE,100 ADD HL,DE ENDIF LD A,(HL) INC HL LD (temp+1),A LD SP,HL ADD HL,DE LD (Psa_beg+1),HL POP AF LD E,A ADD HL,DE LD (Psa_lop+1),HL POP HL ADD HL,BC LD (Psa_chn+1),HL LD HL,tba_smpia_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 INC L LD H,L LD (A_qty),HL LD (C_qty),HLsav_SP0 LD SP,0stop LD HL,DUMMYORN LD (Ao_adr+1),HL LD (Bo_adr+1),HL LD (Co_adr+1),HL LD (Asi_adr+1),HL LD (Bsi_adr+1),HL LD (Cs_adr+1),HL LD (Ach_adr+1),HL XOR A LD (Am_vol+1),A LD (Bm_vol+1),A LD (Cm_vol+1),A LD (Ei_form+1),A ;no glu glu after switch module SUB 16 ;FIX LD (Agi_vol+1),A LD (Bgi_vol+1),A LD (Cg_vol+1),A SBC A,A LD (Avb_lok+1),A LD (Cvb_lok+1),A LD (Bvb_lok+1),A XOR A IF0 frq NOP ENDIF shut RET IF0 frqesld ENDIF tba_smp DS 64,0tba_orn DS 32,0 DISPLAY $tab_volfrq_A DB 0,0frq_B DB 0,0frq_C DB 0,0N_frq DB 0 ;;4 DB 0 ;mix ;no_usevol_A DB 0vol_B DB 0vol_C DB 0frq_E DB 0,0E_form DB 0 ;;4DUMMYORNDUMMYSMP DS 2 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 000102030405060708090A0B0C0D0E0Ftab_frq DS #C0 IFN ?tabl-2 MACRO tabl IF0 port3\0ef_nsT=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 IF0 vib6 DS 4,1 ELSE \0ef_vib LD A,(DE) INC DE JR \0VIB ENDIF DW Eef_sld DW eff_tmp IFN $-18!$&#FF00 DISPLAY "ERROR \0_eff ENDIF IFN vib6;0ef_vib LD A,(DE) ;INC DE\0VIB LD (\0vb_ist+1),A;fix fr/st IF0 "\0 "-"C " LD (\0vb_stp+1),A ENDIF LD A,(DE) INC DE LD (\0vb_ifr+1),A;fix st/fr IFN "\0 "-"C " LD A,6,(\0_ins4),A ENDIF RET ENDIF ENDM
ENDIF
ENDM ENDIF tabl A tabl B tabl C A_qty NOP B_qty NOP C_qty NOP play JP play_0 EXX ;for B'<>1 LD A,#C3,(play),A ;--- install_A ---- XOR A LD L,A,H,A LD DE,#618A_gli LD (Asl_dsp+1),HLA_ins0 JR A_ins0Q LD (As_dsp+1),A ;note IFN smpfix LD (As_Nsl+1),A LD (As_Esl+1),A LD (As_dtn+1),HL ENDIF LD (Ao_dsp+1),A ;todo VARIABLE? LD (Asl_stp+1),A IFN vib6 LD (Avb_stp+1),A ENDIF Avb_cpl CPL LD (Avb_lok+1),A IFN port3 LD A,(A_ins3) ;3.699 CP E;24 ; JZ $+8 ; LD A,(Api_lok+1) ; OR A ; JZ $+7 ; ENDIF Asi_not LD A,0 LD (As_note+1),AAsi_adr LD HL,0 LD (As_adr+1),HL IFN smpfix LD A,16 LD (As_Vsl+1),A ENDIF A_ins0Q Agi_vol LD A,0 ;global_volumeavol LD (Ag_vol+1),A A_ins2 JR A_ins2Q XOR A ;ornament LD (Ao_dsp+1),AAoi_adr LD HL,0 LD (Ao_adr+1),HLAmi_vol LD A,0 LD (Am_vol+1),AA_ins2QA_ins3 JR A_ins3Q;port & sldApi_stp LD A,0 LD (Asl_stp+1),A LD (Asl_sts+1),AApi_tfr LD HL,0 LD (Asl_tfr+1),HL IFN port3Api_not LD A,0 LD (Asl_not+1),AApi_lok LD A,0 LD (Asl_plk-1),A ENDIF IFN vib6
XOR A
LD L,A,H,A
LD DE,#618
A_gli LD (Asl_dsp+1),HL
A_ins0 JR A_ins0Q
LD (As_dsp+1),A ;note
IFN smpfix
LD (As_Nsl+1),A
LD (As_Esl+1),A
LD (As_dtn+1),HL
ENDIF
LD (Ao_dsp+1),A ;todo VARIABLE?
LD (Asl_stp+1),A
IFN vib6
LD (Avb_stp+1),A
ENDIF
Avb_cpl CPL
LD (Avb_lok+1),A
IFN port3
LD A,(A_ins3) ;3.699
CP E;24 ;
JZ $+8 ;
LD A,(Api_lok+1) ;
OR A ;
JZ $+7 ;
ENDIF
Asi_not LD A,0
LD (As_note+1),A
Asi_adr LD HL,0
LD (As_adr+1),HL
IFN smpfix
LD A,16
LD (As_Vsl+1),A
ENDIF
A_ins0Q
Agi_vol LD A,0 ;global_volume
avol LD (Ag_vol+1),A
A_ins2 JR A_ins2Q
XOR A ;ornament
LD (Ao_dsp+1),A
Aoi_adr LD HL,0
LD (Ao_adr+1),HL
Ami_vol LD A,0
LD (Am_vol+1),A
A_ins2Q
A_ins3 JR A_ins3Q
;port & sld
Api_stp LD A,0
LD (Asl_stp+1),A
LD (Asl_sts+1),A
Api_tfr LD HL,0
LD (Asl_tfr+1),HL
IFN port3
Api_not LD A,0
LD (Asl_not+1),A
Api_lok LD A,0
LD (Asl_plk-1),A
ENDIF
IFN vib6
XOR A
LD (Avb_stp+1),A
ENDIF
A_ins3Q
IFN vib6
A_ins4 JR A_ins4Q
LD A,E;24 ;vib
LD (A_ins4),A
Avb_ist LD A,0
LD (Avb_sts+1),A
LD (Avb_stp+1),A
Avb_ifr LD A,0 LD (Avb_frq+1),A A_ins4Q ENDIF A_ins5 JR A_ins5Q Asi_dsp LD A,0 ;disp_sample LD (As_dsp+1),A LD A,E;24 LD (A_ins5),A A_ins5Q A_ins6 JR A_ins6Q Aoi_dsp LD A,0 LD (Ao_dsp+1),A;disp_ornament LD A,E;24 LD (A_ins6),A A_ins6Q ;--- install_B --- XOR A LD L,A,H,A B_gli LD (Bsl_dsp+1),HL B_ins0 JR B_ins0Q LD (Bs_dsp+1),A IFN smpfix LD (Bs_Nsl+1),A LD (Bs_Esl+1),A LD (Bs_dtn+1),HL ENDIF LD (Bo_dsp+1),A LD (Bsl_stp+1),A IFN vib6 LD (Bvb_stp+1),A ENDIF Bvb_cpl CPL LD (Bvb_lok+1),A IFN port3 LD A,(B_ins3) ;3.699 CP E;24 ; JZ $+8 ; LD A,(Bpi_lok+1) ; OR A ; JZ $+7 ; ENDIF Bsi_not LD A,0 LD (Bs_note+1),A Bsi_adr LD HL,0 LD (Bs_adr+1),HL IFN smpfix LD A,16 LD (Bs_Vsl+1),A ENDIF B_ins0Q Bgi_vol LD A,0 bvol LD (Bg_vol+1),A B_ins2 JR B_ins2Q XOR A LD (Bo_dsp+1),A Boi_adr LD HL,0 LD (Bo_adr+1),HL Bmi_vol LD A,0 LD (Bm_vol+1),A B_ins2Q B_ins3 JR B_ins3Q Bpi_stp LD A,0 LD (Bsl_stp+1),A LD (Bsl_sts+1),A Bpi_tfr LD HL,0 LD (Bsl_tfr+1),HL IFN port3 Bpi_not LD A,0 LD (Bsl_not+1),A Bpi_lok LD A,0 LD (Bsl_plk-1),A ENDIF IFN vib6 XOR A LD (Bvb_stp+1),A ENDIF A_ins3Q B_ins3Q
IFN vib6
A_ins4 B_ins4 JR A_ins4QB_ins4Q LD A,E;24 ;vib LD (A_ins4B_ins4),AAvb_ist Bvb_ist LD A,0 LD (Avb_stsBvb_sts+1),A LD (Avb_stpBvb_stp+1),AAvb_ifr Bvb_ifr LD A,0 LD (Avb_frqBvb_frq+1),AA_ins4Q B_ins4Q
ENDIF
A_ins5 B_ins5 JR A_ins5QB_ins5QAsi_dsp Bsi_dsp LD A,0 LD (Bs_dsp+1),A LD A,E;disp_sample24 LD (B_ins5),A B_ins5Q B_ins6 JR B_ins6Q Boi_dsp LD A,0 LD (As_dspBo_dsp+1),A
LD A,E;24
LD (A_ins5B_ins6),AA_ins5Q B_ins6Q ;--- install_E --- Ei_form LD A,0 ;env_form LD (E_form),A ;;4A_ins6 OR A JR A_ins6QZ,temp Ei_frq LD HL,0 ;env_frq LD (E_frq+1),HL XOR A LD L,A,H,A LD (Ei_form+1),A LD (Esl_frq+1),HL LD (Esl_stp+1),A temp LD A,3,(int_qty+1),AAoi_dsp Ni_frq LD A,0,(N_frq),A ;;4 E_ins0 JR Ei_Q Esl_ids LD HL,0 ;stp_sld_env LD (Ao_dspEsl_sds+1),HL Esl_ist LD A,0 ;disp_ornamentstp_sld_p LD (Esl_stp+1),A LD (Esl_sts+1),A
LD A,E;24
LD (A_ins6E_ins0),AA_ins6Q;--- install_B ---  XOR A LD L,A,H,AB_gli LD (Bsl_dsp+1),HLB_ins0 JR B_ins0Q LD (Bs_dsp+1),A IFN smpfix LD (Bs_Nsl+1),A LD (Bs_Esl+1),A LD (Bs_dtn+1),HL ENDIF LD (Bo_dsp+1),A LD (Bsl_stp+1),A IFN vib6 LD (Bvb_stp+1),A ENDIF Bvb_cpl CPL LD (Bvb_lok+1),A IFN port3 LD A,(B_ins3) ;3.699 CP E;24 ; JZ $+8 ; LD A,(Bpi_lok+1) ; OR A ; JZ $+7 ; ENDIF Bsi_not LD A,0 LD (Bs_note+1),ABsi_adr LD HL,0 LD (Bs_adr+1),HL IFN smpfix LD A,16 LD (Bs_Vsl+1),A ENDIF B_ins0Q Bgi_vol LD A,0bvol LD (Bg_vol+1),A B_ins2 JR B_ins2Q XOR A LD (Bo_dsp+1),ABoi_adr LD HL,0 LD (Bo_adr+1),HLBmi_vol LD A,0 LD (Bm_vol+1),AB_ins2QB_ins3 JR B_ins3QBpi_stp LD A,0 LD (Bsl_stp+1),A LD (Bsl_sts+1),ABpi_tfr LD HL,0 LD (Bsl_tfr+1),HL IFN port3Bpi_not LD A,0 LD (Bsl_not+1),ABpi_lok LD A,0 LD (Bsl_plk-1),A ENDIF IFN vib6 XOR A LD (Bvb_stp+1),A ENDIF B_ins3Q IFN vib6B_ins4 JR B_ins4Q LD A,E;24 LD (B_ins4),ABvb_ist LD A,0 LD (Bvb_sts+1),A LD (Bvb_stp+1),ABvb_ifr LD A,0 LD (Bvb_frq+1),AB_ins4Q ENDIF B_ins5 JR B_ins5QBsi_dsp LD A,0 LD (Bs_dsp+1),A LD A,E;24 LD (B_ins5),AB_ins5QB_ins6 JR B_ins6QBoi_dsp LD A,0 LD (Bo_dsp+1),A LD A,E;24 LD (B_ins6),AB_ins6Q;--- install_E ---Ei_form LD A,0 ;env_form LD (E_form),A ;;4 OR A JR Z,tempEi_frq LD HL,0 ;env_frq LD (E_frq+1),HL XOR A LD L,A,H,A LD (Ei_form+1),A LD (Esl_frq+1),HL LD (Esl_stp+1),A temp LD A,3,(int_qty+1),ANi_frq LD A,0,(N_frq),A ;;4Ei_Q E_ins0 JR Ei_QEsl_ids LD HL,0 ;stp_sld_env LD (Esl_sds+1),HLEsl_ist LD A,0 ;stp_sld_p LD (Esl_stp+1),A LD (Esl_sts+1),A LD A,E;24 LD (E_ins0),AEi_Q;--- nota_A + calc next position --- LD HL,A_qty DEC (HL) LD H,E ;LD L,1 ;E LD B,E EXX JR NZ,AqtyQ ;LD (avol+2),A Ach_adr LD DE,tab_vol+16 LD A,(DE) OR A JR NZ,Ps_n0 LD (Ni_frq+1),A ;;5!!! LD D,A ;; LD (sav_SP2+1),SP Psa_beg LD HL,module+201 LD A,(HL) ;LD E,A ;6 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
ADD HL,DE LD SP,HL POP HL ia_pos0 LD BC,0 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 LD H,'compile CALL An_clc1 LD (Ach_adr+1),DE Ai_qty LD A,0,(A_qty),A AqtyQ LD A,1 DJNZ $+4 LD A,34 LD (A_gli),A EXX LD A,B,(A_ins2),A LD A,H,(A_ins0),A LD A,E,(A_ins3),A play_0 LD L,0 ;smp_sl_env EXX N_add LD IX,0 ;HX=noise LX=mix LD (A_glisav_SP1+1),SP IFN ?sam1-2 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 m4 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 jp \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
LD ADD A,B,(A_ins2),AL LD A,H,(A_ins0),A LD A,E,(A_ins3)L,A play_0 LD L,0 ;smp_sl_env
EXX
N_add \0s_n7 LD IXA,0 ;HX=noise LX=mixD RRCA RRCA AND 36 ENDM LD (sav_SP1+1),SP ENDIF IFN ?sam1sam2-2 MACRO sam1sam2\0vb_lok LD A,-1 LD HLX,A INC AIFN smpfix JP Z,\0vb_n0 POP BC \0s_adr 0s_dtn LD SPHL,DUMMYSMP 0 ;sampledsp_frq_smp POP DE ;loop E=beg D=end\0s_dsp LD A ADD HL,0BC LD LBIT 6,A INC A CP D JR CZ,$+3 ;bug NZ/C LD A,E5 LD (\0s_dsp0s_dtn+1),A m4 ADD HL,SP LD SP EX DE,HL ELSE POP DE ;D= Nm ts ns Tm v3 v2 v1 v0 LD A,D ;E= sv +- N4 N3 N2 N1 N0 EmENDIF IFN smpfix OR #F0 \0o_adr LD LSP,ADUMMYORN ;ornament POP BC LD A,E ADD A,A;loop C=beg B=end \0s_Vsl 0o_dsp 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)L,A\0s_VslG ADD INC A,L JR C,$+3 XOR A CP 16B 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 3 ;bug NZ/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_Nsl0o_dsp+1),A LD HX,A ELSE LD HXH,E0 ENDIF jp \0s_n7 \0s_n5 LD A ADD HL,ESP AND 31 CP 16 JR C,$+4 OR #F0 IFN smpfixport3\0s_Esl ADD LD A,0 BIT 5,D JR Z,$+5 LD (\0s_Esl0s_note+1),A ENDIF EXX ADD A,L LD L,A EXX ELSE \0s_n7 0s_note LD A,D RRCA RRCA AND 36 ENDM 0
ENDIF
  IFN ?sam2-2 MACRO sam2 LD LX ADD A,A IFN smpfix POP BC\0s_dtn LD (HL,0 ) ;dsp_frq_smpdsp_orn ADD HLA,BCA BIT 6,D JR ZNC,$+53 XOR A LD (\0s_dtn+1)L,A,HL EX DEH,HL'tab_frq ELSE POP DE ENDIF  \0o_adr LD SP,DUMMYORN ;ornamentHL POP BC ;loop C=beg B=endHL\0o_dsp LD A ADD HL,0DE LD L,A INC A CP B JR C,$+3 ;bug NZ/C LD A,C LD ( \0o_dsp+1),A 0sl_dsp LD HBC,0 ADD HL,SP IFN port3BC LD A,(frq_\0s_note+10),HL ELSE \0s_note 0sl_stp LD A,0 ENDIF ADD DEC A,(HL) ;dsp_orn ADD A JP M,A\0sl_s0 JR NCNZ,$+3\0sl_s1 XOR A \0sl_tfr LD LDE,A,H,'tab_frq LD SP,HL POP HL0
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
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
ENDIF
\0smpQ ENDM ENDIF sam1 A RRCA RRCA sam2 A sam1 B RRCA OR LX sam2 B sam1 C OR LX sam2 C ;---- sampler_E ---- Esl_ EXX LD A,L Esl_frq LD DE,0 ;stp_sl_env E_frq LD HL,0 ;frq_env ADD A,L ;stp_smp_sl_env 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_ IFN msx LD DE,#A0A1 LD HL,frq_A DUP 6 LD C,D OUT (C),L LD C,E OUTI EDUP LD C,D OUT (C),L LD A,HX ;noise LD (N_add+3),A ADD A,(HL) ;;4 OUT (#A1),A INC L OUT (C),L LD A,LX ;mix TODO (HL) AND %00111111 OR %10000000 ;portA=input, portB=output OUT (#A1),A INC L OUT (C),L LD C,E OUTI DUP 4 LD C,D OUT (C),L LD C,E OUTI EDUP LD A,(HL) ;;4 OR A JR Z,int_qty LD C,D OUT (C),L OUT (#A1),A LD (HL),0 ;;4 ELSE ;zx LD DE,#FFBF LD BC,-3 LD HL,frq_A DUP 6 OUT (C),L LD B,E OUTI LD B,D EDUP OUT (C),L LD A,HX ;noise LD (N_add+3),A ADD A,(HL) ;;4 LD B,E OUT (C),A INC L LD B,D OUT (C),L LD A,LX ;mix TODO (HL) LD B,E OUT (C),A INC L DUP 5 LD B,D OUT (C),L LD B,E OUTI EDUP LD A,(HL) ;;4 OR A JR Z,int_qty LD B,D OUT (C),L LD B,E OUT (C),A LD (HL),0 ;;4 ENDIF  ;--- calc_next_positon_channels ---int_qty LD A,3 DEC A LD (int_qty+1),A JR Z,notaC;if tmp=1,CALL notaB first!!! DEC A RET NZ ;--- nota_B --- LD HL,B_qty DEC (HL) LD DE,#618 LD H,E ;LD L,1 ;E LD B,E EXX JR NZ,BqtyQ ;LD (bvol+2),ABch_adr LD DE,0 LD H,'compile CALL Bn_clc1 LD (Bch_adr+1),DEBi_qty LD A,0,(B_qty),ABqtyQ LD A,1 DJNZ $+4 LD A,34 LD (B_gli),A EXX LD A,B,(B_ins2),A LD A,H,(B_ins0),A ;LD A,L,(B_ins1),A LD A,E,(B_ins3),A RET  ;--- nota_C ---notaC INC A;LD A,1 LD (play),A LD HL,C_qty DEC (HL) RET NZCch_adr LD DE,0 LD H,'compile CALL Cn_clc1 LD (Cch_adr+1),DECi_qty LD A,0,(C_qty),A DEC B RET NZ LD H,B,L,B LD (Csl_dsp+1),HL RET   IFN ?not-2 MACRO not IFN "\0 "-"C "\0ni_v0 LD A,47\0nivolU LD (\0vb_cpl),A EXX LD H,D EXX RET \0ni_not LD (\0si_not+1),A XOR A LD B,1 jp \0nivolU ENDIF \0ni_vol JR Z,\0ni_v0
DUP 4
LD C,D OUT (C),L LD C,E OUTI EDUP LD A,(HL) ;;4 OR A JR Z,int_qty LD C,D OUT (C),L OUT (#A1),A LD (HL),0 ;;4 ELSE ;zx LD DE,#FFBF LD BC,-3 LD HL,frq_A DUP 6 OUT (C),L LD B,E OUTI LD B,D EDUP OUT (C),L LD A,HX ;noise LD (N_add+3),A ADD A,(HL) ;;4 LD B,E OUT (C),A INC L LD B,D OUT (C),L LD A,LX ;mix TODO (HL) LD B,E OUT (C),A INC L DUP 5 LD B,D OUT (C),L LD B,E OUTI
EDUP
LD A,(HL) ;;4 OR A JR Z,int_qty LD B,D OUT (C),L LD B,E OUT (C),A LD (HL),0 ;;4 ENDIF ;--- calc_next_positon_channels --- int_qty LD A,3 DEC A LD (int_qty+1),A JR Z,notaC;if tmp=1,CALL notaB first!!! DEC A RET NZ ;--- nota_B --- LD HL,B_qty DEC (HL) LD DE,#618 LD H,E ;LD L,1 ;E LD B,E EXX JR NZ,BqtyQ ;LD (bvol+2),A Bch_adr LD DE,0 LD H,'compile CALL Bn_clc1 LD (Bch_adr+1),DE Bi_qty LD A,0,(B_qty),A BqtyQ LD A,1 DJNZ $+4 LD A,34 LD (B_gli),A EXX LD A,B,(B_ins2),A LD A,H,(B_ins0),A ;LD A,L,(B_ins1),A LD A,E,(B_ins3),A RET ;--- nota_C --- notaC INC A;LD A,1 LD (play),A LD HL,C_qty DEC (HL) RET NZ Cch_adr LD DE,0 LD H,'compile CALL Cn_clc1 LD (Cch_adr+1),DE Ci_qty LD A,0,(C_qty),A DEC B RET NZ LD H,B,L,B LD (Csl_dsp+1),HL RET IFN ?not-2 MACRO not IFN "\0 "-"C " \0ni_v0 LD A,47 \0nivolU LD (\0vb_cpl),A EXX LD H,D EXX RET \0ni_not LD (\0si_not+1),A XOR A LD B,1 jp \0nivolU ENDIF \0ni_vol JR Z,\0ni_v0 DUP 4 ADD A,A EDUP LD (\0gi_vol+1),A jp \0n_clc2 \0ni_vqe JR Z,\0ni_v1 DEC A JR NZ,\0ni_e0 LD A,(DE) INC DE LD (\0i_qty+1),A jp \0n_clc2 \0ni_e0 LD (Ei_form+1),A LD A,(DE) INC DE LD (Ei_frq+2),A LD A,(DE) INC DE LD (Ei_frq+1),A LD A,16 \0ni_v1 LD (\0mi_vol+1),A IFN "\0 "-"C " EXX LD B,D EXX ENDIF
jp \0n_clc2
\0ni_vqe JR Z,\0ni_v1 DEC A JR NZ,\0ni_e0 LD A,(DE) INC DE LD (\0i_qty+1),A jp \0n_clc2 \0ni_e0 LD (Ei_form+1),A LD A,(DE) INC DE LD (Ei_frq+2),A LD A,(DE) INC DE LD (Ei_frq+1),A LD A,16\0ni_v1 LD (\0mi_vol+1),A IFN "\0 "-"C " EXX LD B,D EXX ENDIF jp \0n_clc2 \0ni_s_o ADD A,A ADD A,tba_orn LD L,A LD C,(HL) INC L LD B,(HL) LD (\0oi_adr+1),BC XOR A \0ni_sm0 LD (\0mi_vol+1),A IFN "\0 "-"C " EXX LD B,D EXX ELSE XOR A LD (\0o_dsp+1),A ENDIF LD A,(DE) INC DE \0nism0U ADD A,tba_smp LD L,A LD C,(HL) INC L LD B,(HL) LD (\0si_adr+1),BC \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 RLA LD HL,-256&\0_eff+.(\0_eff+30) ADD A,L LD L,A LD A,(HL) INC L LD H,(HL) LD L,A PUSH HL IF0 "\0 "-"C " IFN port3 LD A,(Cs_note+1) LD (CnsTnxt+1),A ENDIF ENDIF jp \0n_clc2 IF0 "\0 "-"B " \0ni_noi LD (Ni_frq+1),A;global_noise jp \0n_clc2 ENDIF \0ni_vse JR Z,\0ni_sm0 LD (Ei_form+1),A LD A,(DE) INC DE LD (Ei_frq+2),A LD A,(DE) INC DE LD (Ei_frq+1),A LD A,16 jp \0ni_sm0 \0ni_smp RET Z ADD A,A jp \0nism0U \0ni_orn ADD A,A ADD A,tba_orn LD L,A LD C,(HL) INC L LD B,(HL) LD (\0oi_adr+1),BC IFN "\0 "-"C " EXX LD B,D EXX ELSE XOR A LD (Co_dsp+1),A ENDIF jp \0n_clc1 ENDM ENDIF not A not B Cgi_vol=Cg_vol Cmi_vol=Cm_vol Coi_adr=Co_adr Csi_adr=Cs_adr Cni_v0 IFN vib6 LD (Cvb_stp+1),A ENDIF DEC A LD (Cvb_lok+1),A RET not C Cni_not LD (Cs_note+1),A XOR A LD H,A,L,A LD (Cs_dsp+1),A LD (Co_dsp+1),A LD (Csl_stp+1),A LD (Cvb_lok+1),A IFN vib6 LD (Cvb_stp+1),A ENDIF IFN smpfix LD (Cs_Nsl+1),A LD (Cs_Esl+1),A LD (Cs_dtn+1),HL LD A,16,(Cs_Vsl+1),A ENDIF LD B,1 RET ;---- special_effects_COM.xxxx ---- Aef_dSm LD A,6,(A_ins5),A l Asi_dsp+1 Aef_dOr LD A,6,(A_ins6),A l Aoi_dsp+1 Bef_dSm LD A,6,(B_ins5),A l Bsi_dsp+1 Bef_dOr LD A,6,(B_ins6),A l Boi_dsp+1 Cef_dSm l Cs_dsp+1 Cef_dOr l Co_dsp+1 Cpi_stp=Csl_stp Cpi_tfr=Csl_tfr IFN ?_slT-2 MACRO _slT \0ef_slT LD A,(DE) INC DE LD (\0pi_stp+1),A IF0 "\0 "-"C " LD (\0sl_sts+1),A ENDIF LD A,(DE),L,A INC DE LD A,(DE),H,A INC DE LD (\0pi_tfr+1),HL jp IFN port3 LD A,\0sl_sts-\0sl_plk LD (\0n_clc10pi_lok+1),A;port_off ENDIF ENDM ENDIF _slT A EXX LD E,D EXX RET _slT B EXX LD E,D EXX RET _slT C IFN vib6 XOR A LD (Cvb_stp+1),A
ENDIF
not Anot BCgi_vol=Cg_volCmi_vol=Cm_volCoi_adr=Co_adrCsi_adr=Cs_adrCni_v0 IFN vib6 LD (Cvb_stp+1),A ENDIF DEC A LD (Cvb_lok+1),A RET not CCni_not LD (Cs_note+1),A XOR A LD H,A,L,A LD (Cs_dsp+1),A LD (Co_dsp+1),A LD (Csl_stp+1),A LD (Cvb_lok+1),A IFN vib6 LD (Cvb_stp+1),A ENDIF IFN smpfix LD (Cs_Nsl+1),A LD (Cs_Esl+1),A LD (Cs_dtn+1),HL LD A,16,(Cs_Vsl+1),A ENDIF LD B,1 RET  ;---- special_effects_COM.xxxx ----Aef_dSm LD A,6,(A_ins5),A l Asi_dsp+1Aef_dOr LD A,6,(A_ins6),A l Aoi_dsp+1Bef_dSm LD A,6,(B_ins5),A l Bsi_dsp+1Bef_dOr LD A,6,(B_ins6),A l Boi_dsp+1Cef_dSm l Cs_dsp+1Cef_dOr l Co_dsp+1 Cpi_stp=Csl_stpCpi_tfr=Csl_tfrport3 IFN ?_slT_nsT-2 MACRO _slT_nsT \0ef_slT 0ef_nsT LD A,(DE) INC DE LD (\0pi_stp+1),A IF0 "\0 "-"C " LD (\0sl_sts+1),A ENDIF LD A,(DE),L,A INC DE LD A,(DE),H,A INC DE LD (\0pi_tfr+1),HL IFN port3 LD A,\0sl_sts-\0sl_plk LD (\0pi_lok+1),A;port_off ENDIF ENDM
ENDIF
_slT A INC DE EXX INC DE LD EA,(DE),L,DA EXX INC DE RET LD A,(DE),H,A_slT B INC DE EXX LD E(\0pi_tfr+1),DHL EXX XOR A RET LD B,A_slT C ENDM IFN vib6 ENDIF XOR _nsT A LD (Cvb_stpApi_lok+1),A;port_on ENDIF RET ; LD HL,Asi_not+1 IFN port3; LD A,(HL) IFN ?_nsT-2 MACRO _nsT\0ef_nsT LD A,(DEAsi_not+1) INC DE LD (\0pi_stpApi_not+1),A IF0 "\0 "-"C " ;LD A,(\0sl_stsAs_note+1) ; LD (HL),A ENDIF EXX LD E,D EXX INC DE RET INC DE _nsT B LD A,(DEBpi_lok+1),L,A INC DE ; LD HL,Bsi_not+1 ; LD A,(DEHL),H,A INC DELD A,(Bsi_not+1) LD (\0pi_tfrBpi_not+1),HLA XOR ;LD A,(Bs_note+1) ; LD B(HL),A EXX LD E,D EXX RET _nsT C ENDM IFN vib6 LD (Cvb_stp+1),A
ENDIF
_nsT A LD (Api_lok+Csl_plk-1),A;port_on ; LD HL,Asi_notCs_note+1 ; LD A,(HL) LD A,(Asi_not+1) LD (Api_notCsl_not+1),A ;LD A,(As_note+1) ; CnsTnxt LD (HL),A EXX LD E,D EXX 0 RET _nsT B LD (Bpi_lok+1),A ; LD HL,Bsi_not+1 ; LD A,(HL) LD A,(Bsi_not+1) LD (Bpi_not+1),A ;LD A,(Bs_note+1) ; LD (HL),A EXX LD E,D EXX RET _nsT C IFN vib6 LD (Cvb_stp+1),A
ENDIF
LD (Csl_plk-1),A LD HL,Cs_note+1 LD A,(HL) LD (Csl_not+1),ACnsTnxt LD (HL),0 RET ENDIF eff_tmp l temp+1 IFN frq esld 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 BC,A ADD HL,BC POP AF INC (HL) JR NC,$+4 DEC (HL),(HL) PUSH DEPOP HL EX DE,HL;AND A LD DE;SBC HL,23BC JR CORR_1 NT_DATA DB T_NEW_0-T_ LD HXADC A,8DCOPF2 SRL B DB TCNEW_0-T_ RR C;DB T_OLD_0-T_ ;COPF3 NOP AND A ;DB TCOLD_0-T_ DB T_NEW_1-T_ AND A DB TCNEW_1-T_ ;DB T_OLD_1-T_ LD ;AND A,CCOPF3 ;DB TCOLD_1-T_ DB T_NEW_2-T_ ADC A,D DB TCNEW_2-T_ ;=ADC 0DB T_OLD_2-T_ LD (HL),A;NOP INC HL;DB TCOLD_2-T_ LD A,B DB T_NEW_3-T_
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),ACORR_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_0TCNEW_3-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_1T_OLD_3-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 DISPLAY $-compile IFN vib6 Cvb_ifr=Cvb_frq Cvb_ist=Cvb_sts ENDIF IFN port3 Cpi_lok=Csl_plk-2 ENDIF IF0 ?StAnDaLoNe module INCBIN "*.m" ENDIF IF0 frq plyend ORG tab_frq IF0 .{module+99}-0 ;INCBIN "tb_PT DD 220C730BCF0A330AA109170994081908A4073707CF066D06 DD 1106BA0567051A05D0048B044A040C04D2039B0367033703 DD 0803DD02B4028D026802460225020602E901CE01B4019B01 DD 84016E015A0146013401230112010301F500E700DA00CE00 DD C200B700AD00A3009A009100890082007A0073006D006700 DD 61005C00560052004D004900450041003D003A0036003300 DD 31002E002B00290027002400220020001F001D001B001A00 DD 180017001600140013001200110010000F000E000D000C00 ENDIF IF0 .{module+99}-1 ;INCBIN "tb_ST DD F80E100E600D800CD80B280B880AF0096009E0085808E007 DD 7C070807B0064006EC0594054405F804B00470042C04FD03 DD BE03840358032003F602CA02A2027C02580238021602F801 DD DF01C201AC0190017B01650151013E012C011C010A01FC00 DD EF00E100D600C800BD00B200A8009F0096008E0085007E00 DD 770070006B0064005E00590054004F004B00470042003F00 DD 3B003800350032002F002C002A0027002500230021001F00 DD 1D001C001A00190017001600150013001200110010000F00 ENDIF IF0 .{module+99}-2 ;INCBIN "tb_ASM DD 100D550CA40BFC0A5F0ACA093D09B8083B08C5075507EC06 DD 88062A06D2057E052F05E5049E045C041D04E203AB037603 DD 44031503E902BF02980272024F022E020F02F101D501BB01 DD A2018B01740160014C013901280117010701F900EB00DD00 DD D100C500BA00B000A6009D0094008C0084007C0075006F00 DD 690063005D00580053004E004A00460042003E003B003700 DD 340031002F002C00290027002500230021001F001D001C00 DD 1A00190017001600150014001200110010000F000E000D00 ENDIF IF0 .{module+99}-3 ;INCBIN "tb_REAL DD DA0C220C730BCF0A330AA109170994081908A4073707CF06 DD 6D061106BA0567051A05D0048B044A040C04D2039B036703 DD 37030803DD02B4028D026802460225020602E901CE01B401 DD 9B0184016E015A0146013401230112010301F500E700DA00 DD CE00C200B700AD00A3009A009100890082007A0073006D00 DD 670061005C00560052004D004900450041003D003A003600 DD 330031002E002B00290027002400220020001F001D001B00 DD 1A00180017001600140013001200110010000F000E000D00 ENDIF ORG plyend ENDIF IF0 ?StAnDaLoNe ORG #7000 CALL compile play_l EI HALT CALL play LD A,#7F IN A,(-2) RRA JR C,play_l LD L,#E XOR A shut RET ENDIF 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,#07A

Navigation menu