📄 ~kbtemp.tmp
字号:
0059 155 play_head_ed:
0059 24 156 ret
+ 157
+ 158 ;------------------------------------------------------
+ 159 ;
+ 160 ; function : play_tail()
+ 161 ;
+ 162 ;------------------------------------------------------
005A 163 play_tail:
005A 20 00 85 164 call dummy_loop
005D 20 00 85 165 call dummy_loop
0060 20 00 85 166 call dummy_loop
0063 20 00 85 167 call dummy_loop
0066 20 00 85 168 call dummy_loop
0069 20 00 85 169 call dummy_loop
006C 20 00 85 170 call dummy_loop
006F 20 00 85 171 call dummy_loop
0072 20 00 85 172 call dummy_loop
0075 20 00 85 173 call dummy_loop
0078 F1 0B 174 lda voice
007A 3F 175 deca
007B FD 0B 176 sta voice
007D FC 34 177 sta r_pwmc
007F A7 00 178 cmpe #0
0081 07 00 5A 179 brnz play_tail
0084 24 180 ret
+ 181
+ 182 ;------------------------------------------
+ 183 ;
+ 184 ; function : dummy_loop()
+ 185 ;
+ 186 ;------------------------------------------
0085 187 dummy_loop:
0085 02 00 88 188 br dummy_loop0
0088 189 dummy_loop0:
0088 02 00 8B 190 br dummy_loop1
008B 191 dummy_loop1:
008B 24 192 ret
+ 193
+ 194 ;------------------------------------------------------
+ 195 ;
+ 196 ; function : turn on voc and play_head
+ 197 ;
+ 198 ;------------------------------------------------------
008C 199 on_voc_head:
008C F3 00 200 lda #00h
008E FC 34 201 sta r_pwmc
0090 F3 06 202 lda #06h
0092 FC 48 203 sta r_voc ;on pwm, d/a
0094 F3 87 204 lda #87h
0096 FC 34 205 sta r_pwmc
0098 20 00 31 206 call play_head
009B F3 F7 207 lda #0f7h
009D FC 34 208 sta r_pwmc
009F 24 209 ret
+ 210
+ 211 ;------------------------------------------------------
+ 212 ;
+ 213 ; function : turn off voc and play_tail
+ 214 ;
+ 215 ;------------------------------------------------------
00A0 216 off_voc_tail:
00A0 F3 87 217 lda #087h
00A2 FC 34 218 sta r_pwmc
00A4 20 00 5A 219 call play_tail
00A7 F3 00 220 lda #00H
00A9 FC 48 221 sta r_voc
00AB F3 80 222 lda #080h
00AD FC 34 223 sta r_pwmc
00AF 24 224 ret
+ 225
+ 226 ;-----------------------------------------------------------------------------
+ 227 ;
+ 228 ; main program
+ 229 ;
+ 230 ;-----------------------------------------------------------------------------
00B0 231 main:
00B0 F3 00 232 lda #0
00B2 FC 28 233 sta r_pp
00B4 FC 21 234 sta r_dp
00B6 235 clr_loop:
00B6 F3 00 236 lda #0
00B8 FE 237 sta i
00B9 F0 21 238 lda r_dp
00BB A7 7F 239 cmpe #07fh
00BD 06 00 C4 240 brz clr_end
00C0 18 241 incdp
00C1 02 00 B6 242 br clr_loop
00C4 243 clr_end:
+ 244 ;setup i/o port
00C4 F3 FF 245 lda #0ffh ;set port c and port d be high (i/p).
00C6 FC 31 246 sta r_prtc
00C8 FC 32 247 sta r_prtd
00CA F3 7F 248 lda #07fh ;set sp to 7fh
00CC FC 18 249 sta r_sp
+ 250 ;---------------------------------------------------------------------------
+ 251 ;
+ 252 ; demo mode
+ 253 ;
+ 254 ;---------------------------------------------------------------------------
00CE 255 demo_d80:
00CE F0 32 256 lda r_prtd
00D0 A7 FF 257 cmpe #0ffh
00D2 06 00 CE 258 brz demo_d80
00D5 259 play_voice:
00D5 F3 FF 260 lda #0ffh
00D7 FD 0A 261 sta b_talk_end
+ 262
00D9 20 00 8C 263 call on_voc_head ;on voc and play head
+ 264
+ 265 ;setup the speech pointer
00DC F3 10 266 lda #<v1
00DE FD 07 267 sta speechlow
00E0 F3 01 268 lda #>v1
00E2 FD 08 269 sta speechhigh
00E4 F3 00 270 lda #00h
00E6 FD 09 271 sta speechtpp
00E8 20 4E B1 272 call .tc_int ;initialize the jcode1 algorithm RAM
+ 273
+ 274 ;setup tc2 counter for 8khz
00EB F3 01 275 lda #>t8ksample
00ED FC 14 276 sta r_t2h
00EF F3 4C 277 lda #<t8ksample
00F1 FC 12 278 sta r_t2l
+ 279
00F3 F3 18 280 lda #00011000b ;normal, fast clock, enable INT,
+ 281 ;use TC2, use TC1 , z=0, c=0
00F5 FC 22 282 sta r_op1
+ 283
00F7 F3 02 284 lda #00000010b ;enable tc2
00F9 FC 04 285 sta r_ier
+ 286
+ 287 ;loop until voice end
00FB 288 demo_voice_loop:
00FB F1 0A 289 lda b_talk_end ;00=>play, 0ffh=>stop
00FD A7 00 290 cmpe #0
00FF 06 00 FB 291 brz demo_voice_loop
+ 292
+ 293 ;voice end
0102 F3 00 294 lda #00000000b ;off TC2, off TC1 , z=0, c=0
0104 FC 22 295 sta r_op1
+ 296
0106 F3 00 297 lda #00000000b ;disable tc2
0108 FC 04 298 sta r_ier
+ 299
010A 20 00 A0 300 call off_voc_tail ;off voc and play tail
010D 02 00 CE 301 br demo_d80
+ 302
+ 303 ;------------------------------------
+ 304 ;
+ 305 ; END OF PROGRAM
+ 306 ;
+ 307 ;------------------------------------
+ 308
0110 309 v1:
+ 310 .include "8khvo.inc"
+ 311
+ 312
+
+Symbol Table
+
+ 2 .STARTUP 0012 GR
+ .tc_int **** GX
+ .tc_play **** GX
+ 1 acc 0000 R
+ 1 b_talk_end 0005 GR
+ 1 b_talk_high 0010 GR
+ 0 clr_end 00B2 R
+ 0 clr_loop 00A4 R
+ 0 demo_d80 00BC R
+ 0 demo_voice_loop 00E9 R
+ 0 dummy_loop 0073 R
+ 0 dummy_loop0 0076 R
+ 0 dummy_loop1 0079 R
+ 0 int1 0002 R
+ 0 int2 0003 R
+ 1 j 000F GR
+ 1 k 000E GR
+ 0 main 009E R
+ 1 mirr_flag 0001 R
+ 0 off_voc_tail 008E R
+ 0 on_voc_head 007A R
+ 1 p_voice 000B GR
+ pcm_end_code = 00FF
+ 0 play_head 001F R
+ 0 play_head_ed 0047 R
+ 0 play_head_l0 0021 R
+ 0 play_tail 0048 R
+ 0 play_voice 00C3 R
+ 1 q_index 000C GR
+ 1 s_data 000D GR
+ silence_level = 0040
+ 1 speechhigh 0003 GR
+ 1 speechlow 0002 GR
+ 1 speechtpp 0004 GR
+ t8ksample = 014C
+ 0 tc1 0000 R
+ 0 tc2 0004 R
+ 0 tc2_ret 0018 R
+ 0 ttrap1 0001 R
+ 0 v1 00FE R
+ 1 v_int_tph 0008 GR
+ 1 v_int_tpl 0007 GR
+ 1 v_talk_data 0009 GR
+ 1 voice 0006 GR
+ 1 x 000A GR
+
+
+Area Table
+
+ 0 CODE size 4E06 flags 0
+ 1 DATA size 11 flags 1C
+ 2 RCODE size 12 flags C
+###########################################################
+### jadpcm.asl ###
+### file not found, skipped. ###
+###########################################################
+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -