⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sound_tab.asl

📁 一款智能老鼠的玩具源代码
💻 ASL
字号:
+                     1 ;****************************************************************;
+                     2 ; Sound Play Set Library
+                     3 ;
+                     4 ; Written by: lixy
+                     5 ; Date: 2004-02-16
+                     6 ;****************************************************************;
+                     7 
+                     8 ;================================================================;
+                     9 ;Constant Area
+                    10 ;================================================================;
0006                 11 c_voc			equ	#06h		;R_VOC: bit2:PWM, bit1:DA, bit0:OP
+                    12 						;enable PWM and DA
00F7                 13 c_pwmc			equ	#0f7h		;R_PWMC: bit7:COM/DATA, bit6-bit4:PWM OP DRIVER
+                    14 						;        bit3-bit1:PCK SELECTION, bit0:PWM ENABLE
+                    15 						;set PWM enable
+                    16 ;c_cry_times		equ	#2
+                    17 ;c_snd_intvl_h		equ	#050h		;the interval of the mouse sound play
+                    18 ;c_snd_intvl_l		equ	#02h
+                    19 
0010                 20 c_dly_r_f		equ	#10h		;the sound rise and fall delay constant
+                    21 
+                    22 ;================================================================;
+                    23 ;Sound Data Area
+                    24 ;================================================================;
+                    25 ;	.area	sound_var(data)
+                    26 
+                    27 ;flg_cry_for_key_press::	.ds	1
+                    28 ;m_cry_times::		.ds	1
+                    29 ;cnt_snd_intvl::		.ds	2	;the counter of the mouse sound play interval
+                    30 
+                    31 ;temp_pwmc::		.ds	1	;pwmc temporary variable
+                    32 ;temp_dly_r_f::		.ds	1	;sound rise and fall delay temp variable
+                    33 
+                    34 ;================================================================;
+                    35 ;Sound Code Library
+                    36 ;================================================================;
+B 00 01

+                    37 	.area	sound_lib(code)
+                    38 
+                    39 ;sound::
+                    40 
+                    41 ;//04-03-19// add the sound output from vo
+                    42 ;	lda	r_voc
+                    43 ;	cmpe	#00h
+                    44 ;	brz	next_cry	
+                    45 ;	call	tail
+                    46 ;	lda	#00h
+                    47 ;	sta	r_voc			;close PWM and D/A
+                    48 ;next_cry:
+                    49 ;end add //04-03-19//
+                    50 
+                    51 ;sound_play_set:
+                    52 ;	call	select_sound
+                    53 ;	call	play_initial
+                    54 ;	br	sound_end
+                    55 
+                    56 
+                    57 
+                    58 ;----------------------------------------------------------------;
+                    59 ;Select Sound0 (for free run) Subroutine
+                    60 ;----------------------------------------------------------------;
0000                 61 select_sound_normal::
0000 F3 00           62 	lda	#00h
0002 FD 02           63         sta	M_sphptr+2
0004 F3 00           64         lda	#>(sound_tab)
0006 FD 01           65         sta	M_sphptr+1
0008 F3 10           66         lda	#<(sound_tab)
000A FD 00           67         sta	M_sphptr
000C 20 28 1E        68         call	play_initial
000F 24              69         ret
0010                 70 sound_tab::
+                    71 	.include	"normal.inc"
+                    72 ;//04-03-23// add the sound played in the course
+                    73 ;of stop which is caused by pressing the key.
+                    74 ;----------------------------------------------------------------;
+                    75 ;Select Sound1 (for key pressed or barrier) Subroutine
+                    76 ;----------------------------------------------------------------;
032B                 77 select_sound_barrier::
+                    78 ;	lda	#00h
+                    79 ;       sta	M_sphptr+2
+                    80 ;        lda	#>(sound_tab_1)
+                    81 ;        sta	M_sphptr+1
+                    82 ;        lda	#<(sound_tab_1)
+                    83 ;        sta	M_sphptr
+                    84 ;        call	play_initial        
032B 24              85         ret
032C                 86 sound_tab_1::
+                    87 ;	.include	"barrier.inc"
+                    88 ;end add //04-03-23//
+                    89 ;----------------------------------------------------------------;
+                    90 ;Select Sound2 (for Gameover) Subroutine
+                    91 ;----------------------------------------------------------------;
032C                 92 select_sound_gameover::
032C F3 00           93 	lda	#00h
032E FD 02           94         sta	M_sphptr+2
0330 F3 03           95         lda	#>(sound_tab_2)
0332 FD 01           96         sta	M_sphptr+1
0334 F3 3C           97         lda	#<(sound_tab_2)
0336 FD 00           98         sta	M_sphptr
0338 20 28 1E        99         call	play_initial
033B 24             100         ret
033C                101 sound_tab_2::
+                   102 	.include	"gameover.inc"
+                   103 ;end add //04-07-1//
+                   104 ;----------------------------------------------------------------;
+                   105 ;Select Sound3 (for fail) Subroutine
+                   106 ;----------------------------------------------------------------;
0713                107 select_sound_fail::
0713 F3 00          108 	lda	#00h
0715 FD 02          109         sta	M_sphptr+2
0717 F3 07          110         lda	#>(sound_tab_3)
0719 FD 01          111         sta	M_sphptr+1
071B F3 23          112         lda	#<(sound_tab_3)
071D FD 00          113         sta	M_sphptr        
071F 20 28 1E       114         call	play_initial
0722 24             115         ret
0723                116 sound_tab_3::
+                   117 	.include	"fail.inc"
+                   118 ;end add //04-07-2//
+                   119 ;----------------------------------------------------------------;
+                   120 ;Play Initial Subroutine
+                   121 ;----------------------------------------------------------------;
281E                122 play_initial:
281E F3 06          123 	lda	#c_voc
2820 FC 48          124 	sta	r_voc
2822 F3 F7          125 	lda	#c_pwmc
2824 FC 34          126 	sta	r_pwmc
+                   127 	;call	header
2826 F3 00          128 	lda	#00h
2828 FD 00          129 	sta	M_stopbit
282A 24             130         ret
+
+Symbol Table
+
+    M_sphptr                           **** GX
+    M_stopbit                          **** GX
+    c_dly_r_f                       =  0010 
+    c_pwmc                          =  00F7 
+    c_voc                           =  0006 
+  1 play_initial                       281E R
+  1 select_sound_barrier               032B GR
+  1 select_sound_fail                  0713 GR
+  1 select_sound_gameover              032C GR
+  1 select_sound_normal                0000 GR
+  1 sound_tab                          0010 GR
+  1 sound_tab_1                        032C GR
+  1 sound_tab_2                        033C GR
+  1 sound_tab_3                        0723 GR
+
+
+Area Table
+
+   0 .                                  size    0   flags 0
+   1 sound_lib                          size 282B   flags 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -