📄 sound_library.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 ;================================================================;
+ 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 ;Play Initial Subroutine
+ 59 ;----------------------------------------------------------------;
0000 60 play_initial:
0000 F3 06 61 lda #c_voc
0002 FC 48 62 sta r_voc
0004 F3 F7 63 lda #c_pwmc
0006 FC 34 64 sta r_pwmc
+ 65 ;call header
0008 F3 00 66 lda #00h
000A FD 00 67 sta M_stopbit
000C 24 68 ret
+ 69 ;----------------------------------------------------------------;
+ 70 ;Select Sound0 (for free run) Subroutine
+ 71 ;----------------------------------------------------------------;
000D 72 select_sound_normal::
000D F3 00 73 lda #00h
000F FD 02 74 sta M_sphptr+2
0011 F3 00 75 lda #>(sound_tab)
0013 FD 01 76 sta M_sphptr+1
0015 F3 1D 77 lda #<(sound_tab)
0017 FD 00 78 sta M_sphptr
0019 20 00 00 79 call play_initial
001C 24 80 ret
001D 81 sound_tab::
+ 82 .include "normal.inc"
+ 83 ;//04-03-23// add the sound played in the course
+ 84 ;of stop which is caused by pressing the key.
+ 85 ;----------------------------------------------------------------;
+ 86 ;Select Sound1 (for key pressed or barrier) Subroutine
+ 87 ;----------------------------------------------------------------;
0F16 88 select_sound_barrier::
0F16 F3 00 89 lda #00h
0F18 FD 02 90 sta M_sphptr+2
0F1A F3 0F 91 lda #>(sound_tab_1)
0F1C FD 01 92 sta M_sphptr+1
0F1E F3 26 93 lda #<(sound_tab_1)
0F20 FD 00 94 sta M_sphptr
0F22 20 00 00 95 call play_initial
0F25 24 96 ret
0F26 97 sound_tab_1::
+ 98 .include "barrier.inc"
+ 99 ;end add //04-03-23//
+ 100 ;----------------------------------------------------------------;
+ 101 ;Select Sound2 (for Gameover) Subroutine
+ 102 ;----------------------------------------------------------------;
258B 103 select_sound_gameover::
258B F3 00 104 lda #00h
258D FD 02 105 sta M_sphptr+2
258F F3 25 106 lda #>(sound_tab_2)
2591 FD 01 107 sta M_sphptr+1
2593 F3 9B 108 lda #<(sound_tab_2)
2595 FD 00 109 sta M_sphptr
2597 20 00 00 110 call play_initial
259A 24 111 ret
259B 112 sound_tab_2::
+ 113 .include "gameover.inc"
+ 114 ;end add //04-07-1//
+ 115 ;----------------------------------------------------------------;
+ 116 ;Select Sound3 (for fail) Subroutine
+ 117 ;----------------------------------------------------------------;
5CBE 118 select_sound_fail::
5CBE F3 00 119 lda #00h
5CC0 FD 02 120 sta M_sphptr+2
5CC2 F3 5C 121 lda #>(sound_tab_3)
5CC4 FD 01 122 sta M_sphptr+1
5CC6 F3 CE 123 lda #<(sound_tab_3)
5CC8 FD 00 124 sta M_sphptr
5CCA 20 00 00 125 call play_initial
5CCD 24 126 ret
5CCE 127 sound_tab_3::
+ 128 .include "fail.inc"
+ 129 ;end add //04-07-2//
+
+Symbol Table
+
+ M_sphptr **** GX
+ M_stopbit **** GX
+ c_dly_r_f = 0010
+ c_pwmc = 00F7
+ c_voc = 0006
+ 0 play_initial 0000 R
+ 0 select_sound_barrier 0F16 GR
+ 0 select_sound_fail 5CBE GR
+ 0 select_sound_gameover 258B GR
+ 0 select_sound_normal 000D GR
+ 0 sound_tab 001D GR
+ 0 sound_tab_1 0F26 GR
+ 0 sound_tab_2 259B GR
+ 0 sound_tab_3 5CCE GR
+
+
+Area Table
+
+ 0 . size 7DC9 flags 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -