📄 sub_function2.lst
字号:
286 //============改变音量================
287 int ChangeVolume( void )
288 {
\ 030B C5 PUSH BC
\ 030C D5 PUSH DE
\ 030D FDE5 PUSH IY
289 wma_play_status_t status_buf;
290 int key;
291 return_to_play=1;
\ 030F 3E01 LD A,1
\ 0311 320000 LD (return_to_play),A
292 slider.string_id=g_comval.langid;
\ 0314 3A0C00 LD A,(g_comval+12)
\ 0317 320A00 LD (slider+10),A
293 if (RePlayStatus != NormalPlay)
\ 031A 3A0000 LD A,(RePlayStatus)
\ 031D B7 OR A
\ 031E 2879 JR Z,?0068
\ 0320 ?0067:
294 {
295 if (g_currentMusicType == Music_MP3)
\ 0320 3A0000 LD A,(g_currentMusicType)
\ 0323 3D DEC A
\ 0324 C2F203 JP NZ,?0140
\ 0327 ?0069:
296 {
297
298 if (g_music_vars.location.disk != 'C')
\ 0327 3A0700 LD A,(g_music_vars+7)
\ 032A FE43 CP 67
\ 032C C2F203 JP NZ,?0140
\ 032F ?0071:
299 {
300 //如不是“C”盘就不进行速度调节
301 return 0;
302 }
\ 032F ?0072:
303 //show background
304 ClearScreen(NULL);
\ 032F 110000 LD DE,0
\ 0332 CD0000 CALL LWRD ClearScreen
305 slider.max = 8;
\ 0335 210800 LD HL,8
\ 0338 220400 LD (slider+4),HL
306 slider.min = -8;
\ 033B 21F8FF LD HL,65528
\ 033E 220200 LD (slider+2),HL
307 slider.step = 1;
\ 0341 210100 LD HL,1
\ 0344 220800 LD (slider+8),HL
308 slider.title=MPLAY3;
\ 0347 212001 LD HL,288
\ 034A 220000 LD (slider),HL
309 CheckPlayrateLimit();
\ 034D 3E00 LD A,BYTE3 CheckPlayrateLimit
\ 034F 212400 LD HL,LWRD CheckPlayrateLimit
\ 0352 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
310 slider.value = g_music_vars.play_rate;
\ 0355 ED4B0300 LD BC,(g_music_vars+3)
\ 0359 79 LD A,C
\ 035A 07 RLCA
\ 035B 9F SBC A,A
\ 035C 47 LD B,A
\ 035D ED430600 LD (slider+6),BC
311 ui_auto_update=FALSE;
\ 0361 AF XOR A
\ 0362 320000 LD (ui_auto_update),A
312 g_result = ui_slider(& slider, speed_callback);
\ 0365 0E00 LD C,BYTE3 speed_callback
\ 0367 C5 PUSH BC
\ 0368 210000 LD HL,LWRD speed_callback
\ 036B E5 PUSH HL
\ 036C CDFC03 CALL LWRD ?0157
\ 036F F1 POP AF
\ 0370 F1 POP AF
\ 0371 220000 LD (g_result),HL
313 ui_auto_update = TRUE;
314 g_music_vars.play_rate = slider.value;
\ 0374 3A0600 LD A,(slider+6)
\ 0377 320300 LD (g_music_vars+3),A
315
316 SetFullInterface();
\ 037A AF XOR A
\ 037B 320000 LD (ui_auto_update),A
\ 037E FD210000 LD IY,UpDisplayFlag
\ 0382 FD7E00 LD A,(IY+0)
\ 0385 F6C1 OR 193
\ 0387 FD7700 LD (IY+0),A
\ 038A FD3601FF LD (IY+1),255
317 need_draw = TRUE;
\ 038E 3E01 LD A,1
\ 0390 320000 LD (need_draw),A
318
319 //if (g_result != RESULT_RECORD)//不响应单键录音
320 //{
321 if (g_result != 0)
\ 0393 7D LD A,L
\ 0394 B4 OR H
\ 0395 285B JR Z,?0140
\ 0397 ?0073:
322 {
323 return g_result;
\ 0397 185C JR ?0077
324 }
\ 0399 ?0074:
\ 0399 ?0070:
325 //}
326
327 }
328 return 0;
329 }
\ 0399 ?0068:
330
331 //show background
332 slider.min = 0;
\ 0399 6F LD L,A
\ 039A 67 LD H,A
\ 039B 220200 LD (slider+2),HL
333 slider.max = 31;
\ 039E 2E1F LD L,31
\ 03A0 220400 LD (slider+4),HL
334 //g_music_vars.volume = GetPAVolume();
335 slider.value = g_music_vars.volume;
\ 03A3 ED4B0000 LD BC,(g_music_vars)
\ 03A7 79 LD A,C
\ 03A8 07 RLCA
\ 03A9 9F SBC A,A
\ 03AA 47 LD B,A
\ 03AB ED430600 LD (slider+6),BC
336 slider.step = 1;
\ 03AF 2E01 LD L,1
\ 03B1 220800 LD (slider+8),HL
337 slider.title=CHANGEVO;
\ 03B4 21E901 LD HL,489
\ 03B7 220000 LD (slider),HL
338 g_result = ui_slider(& slider, volume_callback);
\ 03BA 0E00 LD C,BYTE3 volume_callback
\ 03BC C5 PUSH BC
\ 03BD 210000 LD HL,LWRD volume_callback
\ 03C0 E5 PUSH HL
\ 03C1 CDFC03 CALL LWRD ?0157
\ 03C4 F1 POP AF
\ 03C5 F1 POP AF
\ 03C6 220000 LD (g_result),HL
339 ui_auto_update = TRUE;
\ 03C9 3E01 LD A,1
\ 03CB 320000 LD (ui_auto_update),A
340 StartIntro(FALSE);
\ 03CE AF XOR A
\ 03CF 320000 LD (g_introCntMode),A
\ 03D2 3A4D00 LD A,(g_music_vars+77)
\ 03D5 320000 LD (g_OldSecTempBackup),A
\ 03D8 AF XOR A
\ 03D9 320000 LD (g_introCNT),A
341
342 if (g_result != 0)
\ 03DC 7D LD A,L
\ 03DD B4 OR H
\ 03DE 2015 JR NZ,?0077
\ 03E0 ?0075:
343 {
344 return g_result;
345 }
\ 03E0 ?0076:
346 SetFullInterface();
\ 03E0 320000 LD (ui_auto_update),A
\ 03E3 210000 LD HL,UpDisplayFlag
\ 03E6 7E LD A,(HL)
\ 03E7 F6C1 OR 193
\ 03E9 77 LD (HL),A
\ 03EA 23 INC HL
\ 03EB 36FF LD (HL),255
347 need_draw = TRUE;
\ 03ED 3E01 LD A,1
\ 03EF 320000 LD (need_draw),A
348 return 0;
\ 03F2 ?0140:
\ 03F2 210000 LD HL,0
349 }
\ 03F5 ?0077:
\ 03F5 FDE1 POP IY
\ 03F7 D1 POP DE
\ 03F8 C1 POP BC
\ 03F9 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 03FC ?0157:
\ 03FC 110000 LD DE,slider
\ 03FF 3E00 LD A,BYTE3 ui_slider
\ 0401 210000 LD HL,LWRD ui_slider
\ 0404 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0407 GetInformation:
350
351
352 /*
353 ********************************************************************************
354 * int GetInformation(void)
355 *
356 * Description : 读取歌曲信息,歌词
357 *
358 * Arguments : void
359 *
360 * Returns : int
361 *
362 * Notes :
363 *
364 ********************************************************************************
365 */
366 int GetInformation( void )
367 {
\ 0407 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 040A F0FF DEFW 65520
368 char g_lyric_mod;
369 int result;
370 ID3Info_t ID3;
371
372 //清 WATCH_DOG
373 output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
\ 040C DB4E IN A,(78)
\ 040E CBDF SET 3,A
\ 0410 D34E OUT (78),A
374 g_currentMusicType = CheckMusicType(g_music_vars.location.filename);
\ 0412 112100 LD DE,g_music_vars+33
\ 0415 3E00 LD A,BYTE3 CheckMusicType
\ 0417 217F00 LD HL,LWRD CheckMusicType
\ 041A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 041D 7D LD A,L
\ 041E 320000 LD (g_currentMusicType),A
375 ID3.TIT2_length = 30;
\ 0421 DD36F41E LD (IX-12),30
376 ID3.TPE1_length = 30;
\ 0425 DD36F71E LD (IX-9),30
377 ID3.TALB_length = 30;
\ 0429 DD36FA1E LD (IX-6),30
378 ID3.TENC_length = 0;
\ 042D DD36FD00 LD (IX-3),0
379 ID3.TIT2_buffer = & g_TagInfoBuf[0];
\ 0431 DD36F500 LD (IX-11),LOW(g_TagInfoBuf)
\ 0435 DD36F600 LD (IX-10),HIGH(g_TagInfoBuf)
380 ID3.TPE1_buffer = & g_TagInfoBuf[30];
\ 0439 DD36F800 LD (IX-8),LOW(g_TagInfoBuf+30)
\ 043D DD36F900 LD (IX-7),HIGH(g_TagInfoBuf+30)
381 ID3.TALB_buffer = & g_TagInfoBuf[60];
\ 0441 DD36FB00 LD (IX-5),LOW(g_TagInfoBuf+60)
\ 0445 DD36FC00 LD (IX-4),HIGH(g_TagInfoBuf+60)
382 ID3.TENC_buffer = & g_TagInfoBuf[90];
\ 0449 DD36FE00 LD (IX-2),LOW(g_TagInfoBuf+90)
\ 044D DD36FF00 LD (IX-1),HIGH(g_TagInfoBuf+90)
383
384 switch (g_currentMusicType)
\ 0451 FE02 CP 2
\ 0453 384F JR C,?0088
\ 0455 FE05 CP 5
\ 0457 304B JR NC,?0088
\ 0459 ?0079:
385 {
386 case Music_WMA:
387 case Music_WMV:
388 case Music_ASF:
389 ID3.TALB_length = 0;
\ 0459 DD36FA00 LD (IX-6),0
390 if (wmaGetTAGInfo(g_music_vars.location.filename, &ID3))
\ 045D 210400 LD HL,4
\ 0460 39 ADD HL,SP
\ 0461 4D LD C,L
\ 0462 44 LD B,H
\ 0463 112100 LD DE,g_music_vars+33
\ 0466 3E00 LD A,BYTE3 wmaGetTAGInfo
\ 0468 210000 LD HL,LWRD wmaGetTAGInfo
\ 046B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 046E 2C INC L
\ 046F 2D DEC L
\ 0470 282C JR Z,?0081
\ 0472 ?0080:
391 {
392 unitochar(g_TagInfoBuf, 30, g_comval.langid);
\ 0472 210C00 LD HL,g_comval+12
\ 0475 4E LD C,(HL)
\ 0476 C5 PUSH BC
\ 0477 011E00 LD BC,30
\ 047A CDE401 CALL LWRD ?0156
\ 047D F1 POP AF
393 unitochar(&g_TagInfoBuf[30], 30, g_comval.langid);
\ 047E 210C00 LD HL,g_comval+12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -