📄 sub_display.s01
字号:
NAME sub_display(17)
RSEG AP_SUB_DIS(0)
RSEG CSTR(0)
RSEG IDATA0(0)
RSEG CDATA0(0)
RSEG APC_SUB_DIS(0)
EXTERN ClearScreen
PUBLIC DisplayErrMsg
EXTERN FS_GetFileLen
EXTERN GetBattery
EXTERN GetDCStatus
PUBLIC LOOP_PIC
EXTERN MusicEditEndTime
EXTERN MusicEditSelStatus
EXTERN MusicEditStartTime
EXTERN MusicEditStatus
EXTERN MusicEdit_SelSeg
PUBLIC PALYLIST_PIC
EXTERN PlayStatus
EXTERN PutS
EXTERN RePlayStatus
PUBLIC RefreshMainScreen
EXTERN ResShowMultiString
EXTERN ResShowPic
PUBLIC SRSModeFlag
EXTERN SaveSelSegment
EXTERN ScrollInit
EXTERN SetAsciiFont
EXTERN SetBackgdColor
EXTERN SetDealCommamd
EXTERN SetPenColor
EXTERN SetTextPos
EXTERN ShowNowTime
PUBLIC UI_DeleteSeg
PUBLIC UI_SelectSeg
PUBLIC UI_ShowDelSegComfirm
EXTERN UpDisplayFlag
EXTERN ap_get_message
EXTERN ap_sleep
EXTERN c_mp3deSongTimeLength
EXTERN g_TagInfoBuf
EXTERN g_comval
EXTERN g_lyricflag
EXTERN g_music_vars
EXTERN g_musicamount
EXTERN g_musicsequence
EXTERN g_rSetPlayStatus
EXTERN g_result
EXTERN g_volcounter
EXTERN itoa_3
EXTERN m_Mp3deFileHandle
EXTERN main_ResShowPic
EXTERN need_draw
PUBLIC segdeletecomfirm_string
PUBLIC segdelsel_string
PUBLIC segselect_string
EXTERN temp_buffer
EXTERN ui_popup_list
EXTERN ui_show_b
EXTERN ui_show_batt
PUBLIC ui_show_h
PUBLIC ui_show_vol
EXTERN ?CLZ80B_4_04_L00
EXTERN ?C_S_SWITCH_L06
EXTERN ?S_S_SWITCH_L06
EXTERN ?BANK_CALL_DIRECT_L08
EXTERN ?BANK_LEAVE_DIRECT_L08
EXTERN ?BANK_FAST_LEAVE_L08
EXTERN ?ENT_PARM_DIRECT_L09
EXTERN ?ENT_AUTO_DIRECT_L09
EXTERN ?STRCAT_L11
RSEG AP_SUB_DIS
RefreshMainScreen:
; 1. /*
; 2. *******************************************************************************
; 3. * ACTOS AP
; 4. * This program demostrates how to build an AP
; 5. *
; 6. * (c) Copyright Actions Co,Ld.
; 7. *
; 8. * $Id: sub_display.c,v 1.2 2006/06/26 01:14:24 tangwh Exp $
; 9. *******************************************************************************
; 10. */
; 11. #include "ap_music.h"
; 12. byte SRSModeFlag=0;
; 13. #pragma codeseg(AP_SUB_DIS)
; 14.
; 15. #pragma memory=constseg(APC_SUB_DIS)
; 16. /*
; 17. const WORD EQ_PIC[] =
; 18. {
; 19. MEQICON1, MEQICON2, MEQICON3, MEQICON4, MEQICON5, MEQICON6, MEQICON7, MEQICON1
; 20. };
; 21. */
; 22. const WORD LOOP_PIC[7] =
; 23. {
; 24. MLOOP1, MLOOP2, MLOOP3, MLOOP4, MLOOP5, MLOOP6, MLOOP7
; 25. };
; 26.
; 27. const WORD PALYLIST_PIC[6] =
; 28. {//Playlist 模式图标
; 29. PLAYLIST,ARTIST,ALBUM,GENRE,COMPOSE,DIRBG
; 30. };
; 31.
; 32. //const WORD num_id[10] = {TVNUM0,TVNUM1,TVNUM2,TVNUM3,TVNUM4,TVNUM5,TVNUM6,TVNUM7,TVNUM8,TVNUM9}; //系统时间&音量显示
; 33. //const WORD songnum_id[10]= {MNUM0,MNUM1,MNUM2,MNUM3,MNUM4,MNUM5,
; 34. // MNUM6,MNUM7,MNUM8,MNUM9}; //音乐曲目
; 35.
; 36. //******************musicedit func add by mzh 2007.1.19***************
; 37. const WORD segselect_string[4] =
; 38. {
; 39. SEGSEL1,SEGSEL2, SEGSEL3,SEGSEL5
; 40. };
; 41. const WORD segdelsel_string[4] =
; 42. {
; 43. SEGSEL1,SEGSEL2, SEGSEL3,SEGSEL5
; 44. };
; 45. const WORD segdeletecomfirm_string[2] =
; 46. {
; 47. DELEYES,DELENO
; 48. };
; 49.
; 50. #pragma memory=default
; 51. extern EMU_MusicEditSelStatus MusicEditSelStatus; //musicedit add by mzh 2007.1.19
; 52. extern EMU_MusicEditStatus MusicEditStatus; //musicedit add by mzh 2007.1.19
; 53. extern STRU_SelMusicSegment MusicEdit_SelSeg;
; 54. extern time_t MusicEditStartTime;
; 55. extern time_t MusicEditEndTime;
; 56. extern HANDLE m_Mp3deFileHandle;
; 57. extern BYTE c_mp3deSongTimeLength[];
; 58. extern EMU_MusicEditSelStatus MusicEditSelStatus; //music edit add by mzh 2007.1.21
; 59. int main_ResShowPic( WORD id, uchar x, uchar y );
; 60. void ui_show_vol(BYTE volume);
; 61. void ui_show_h(const char *string);
; 62.
; 63. extern char g_volcounter;
; 64. extern bool g_rSetPlayStatus;
; 65. /*
; 66. ********************************************************************************
; 67. * void RefreshMainScreen( void )
; 68. *
; 69. * Description : 主显示的刷新函数,只有有需要时,才调用此函数
; 70. *
; 71. * Arguments : void
; 72. *
; 73. * Returns : void
; 74. *
; 75. * Notes :
; 76. *
; 77. ********************************************************************************
; 78. */
; 79. void RefreshMainScreen( void )
; 80. {
PUSH BC
PUSH DE
; 81. wma_play_status_t status_buf;
; 82. output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
IN A,(78)
SET 3,A
OUT (78),A
; 83.
; 84. if(PlayStatus != PlaySta)
LD A,(PlayStatus)
DEC A
DEC A
JR Z,?0005
?0002:
; 85. {
; 86. if(g_volcounter > 0)
LD A,(g_volcounter)
OR A
JR Z,?0005
?0004:
; 87. {
; 88. g_volcounter = 0;
XOR A
LD (g_volcounter),A
; 89. g_rSetPlayStatus = TRUE;
LD A,1
LD (g_rSetPlayStatus),A
?0005:
?0003:
; 90. }
; 91. }
; 92.
; 93. if (UpDisplayFlag & up_musicBackGDPic)
LD A,(UpDisplayFlag)
BIT 0,A
JR Z,?0007
?0006:
; 94. {
; 95. ResShowPic(BACKDROP, POS_BG, POSY_BG);
LD C,0
PUSH BC
LD DE,10
CALL LWRD ?0176
POP AF
; 96.
; 97. //show nowplaying
; 98. ///-SetTextOutMode(1);
; 99. SetBackgdColor(0x0000df1c);
LD BC,0
LD DE,57116
CALL LWRD SetBackgdColor
; 100. ResShowMultiString(NOWPLAY, g_comval.langid, 255, 1);
LD C,1
PUSH BC
LD C,255
PUSH BC
LD BC,(g_comval+12)
LD DE,404
LD A,BYTE3 ResShowMultiString
LD HL,LWRD ResShowMultiString
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
POP AF
; 101. SetBackgdColor(Color_MENU_def);
CALL LWRD ?0178
; 102. ///-SetTextOutMode(0);
; 103.
; 104. ui_show_vol(g_music_vars.volume);
CALL LWRD ?0181
?0007:
; 105. }
; 106. /* //Jerry Xie Removed for test
; 107. if (g_comval.EarProtect_flag)
; 108. {
; 109. ResShowPic(EARLOGO, 0, 162);
; 110. }
; 111. */
; 112. /*
; 113. if (UpDisplayFlag & up_musictypeflag)
; 114. {
; 115. Show_MusicType();
; 116. }
; 117. */ //Jerry Xie Removed for test
; 118. if ((UpDisplayFlag & up_musicbitrate)&&(RePlayStatus == NormalPlay))
LD HL,(UpDisplayFlag)
BIT 5,H
JR Z,?0009
LD A,(RePlayStatus)
OR A
JR NZ,?0009
?0011:
?0010:
?0008:
; 119. {
; 120. main_ResShowPic(BBCK1,79,20);//复读切回播放时显示比特率
LD C,20
PUSH BC
CALL LWRD ?0174
POP AF
?0009:
; 121. ///-Show_Bitrate();
; 122. }
; 123.
; 124.
; 125. if(PlayStatus == PauseSta)
LD A,(PlayStatus)
DEC A
JR Z,?0016
?0012:
; 126. main_ResShowPic(PAUSEICN,5,3);
?0013:
; 127. else if(PlayStatus == PlaySta)
LD A,(PlayStatus)
DEC A
DEC A
JR NZ,?0016
?0015:
; 128. main_ResShowPic(PLAYICN,5,3);
LD C,3
PUSH BC
LD C,5
LD DE,223
JR ?0127
; 129. else
?0016:
; 130. main_ResShowPic(PAUSEICN/*STOPICN*/,5,3);
LD C,3
PUSH BC
LD C,5
LD DE,222
?0127:
CALL LWRD ?0175
POP AF
?0017:
?0014:
; 131.
; 132. if (UpDisplayFlag & up_musicloopmode)
LD HL,(UpDisplayFlag)
BIT 4,H
JR Z,?0019
?0018:
; 133. {
; 134. if (g_music_vars.fselmod == FSEL_TYPE_COMMONDIR)
LD A,(g_music_vars+81)
OR A
JR NZ,?0021
?0020:
; 135. {
; 136. g_music_vars.play_listmod = mlistnor;//改为普通目录模式
LD A,5
LD (g_music_vars+80),A
?0021:
; 137. }
; 138. ui_show_b(LOOP_PIC[g_music_vars.repeat_mode]); //zxs change
LD HL,(g_music_vars+1)
LD H,0
ADD HL,HL
LD BC,LOOP_PIC
ADD HL,BC
LD E,(HL)
INC HL
LD D,(HL)
LD A,BYTE3 ui_show_b
LD HL,LWRD ui_show_b
CALL LWRD ?BANK_CALL_DIRECT_L08
?0019:
; 139. ///main_ResShowPic(PALYLIST_PIC[g_music_vars.play_listmod],0,136); //Jerry Xie Removed for test
; 140. }
; 141.
; 142. //********************************************************************
; 143. if(MusicEditSelStatus!=MusicEditSelSta_NoSel) // display select or ab loop add by mzh 2007.1.21
LD A,(MusicEditSelStatus)
OR A
JR Z,?0023
?0022:
; 144. {
; 145. main_ResShowPic(BBCK1,79,20);
LD C,20
PUSH BC
CALL LWRD ?0174
POP AF
; 146. if(MusicEditSelStatus==MusicEditSelSta_WaitStart)
LD A,(MusicEditSelStatus)
DEC A
JR NZ,?0025
?0024:
; 147. main_ResShowPic(MRPLSELA,79,20);
LD C,20
PUSH BC
LD C,79
LD DE,217
JR ?0129
?0025:
; 148. else if(MusicEditSelStatus==MusicEditSelSta_WaitEnd)
LD A,(MusicEditSelStatus)
DEC A
DEC A
LD C,20
PUSH BC
LD C,79
JR NZ,?0028
?0027:
; 149. main_ResShowPic(MRPLSELB,79,20);
LD DE,218
JR ?0129
; 150. else
?0028:
; 151. main_ResShowPic(MRPLSEL,79,20);
LD DE,216
?0129:
JP LWRD ?0144
?0029:
?0026:
; 152. }
; 153. else
?0023:
; 154. {
; 155. if (UpDisplayFlag & up_musicsequence)
LD HL,(UpDisplayFlag)
BIT 3,H
JP Z,?0034
?0031:
; 156. {
; 157. itoa_3(g_musicsequence, & temp_buffer[0]);
LD BC,temp_buffer
LD DE,(g_musicsequence)
LD A,BYTE3 itoa_3
LD HL,LWRD itoa_3
CALL LWRD ?BANK_CALL_DIRECT_L08
; 158. strcat(temp_buffer,"/");
LD DE,?0033
LD HL,temp_buffer
CALL LWRD ?STRCAT_L11
; 159. itoa_3(g_musicamount, & temp_buffer[4]);
LD BC,temp_buffer+4
LD DE,(g_musicamount)
LD A,BYTE3 itoa_3
LD HL,LWRD itoa_3
CALL LWRD ?BANK_CALL_DIRECT_L08
; 160. ui_show_h(& temp_buffer[0]);
LD DE,temp_buffer
LD A,BYTE3 ui_show_h
LD HL,LWRD ui_show_h
CALL LWRD ?BANK_CALL_DIRECT_L08
; 161.
; 162. switch (RePlayStatus)
LD DE,(RePlayStatus)
CALL LWRD ?C_S_SWITCH_L06
DEFB 0
DEFW 8
DEFW ?0034
DEFW ?0034
DEFW ?0036
DEFW ?0037
DEFW ?0038
DEFW ?0039
DEFW ?0040
DEFW ?0042
DEFW ?0041
?0035:
; 163. {
; 164. case NormalPlay:
; 165. break;
?0036:
; 166.
; 167. case WaitSetAPointForAB:
; 168. main_ResShowPic(BBCK1,79,20);//播放到复读切换时显示
LD C,20
PUSH BC
CALL LWRD ?0174
POP AF
; 169. main_ResShowPic(MRPLNOA,79,20);
LD C,20
PUSH BC
LD C,79
LD DE,214
JR ?0141
; 170. break;
?0037:
; 171.
; 172. case WaitSetBPointForAB:
; 173. main_ResShowPic(BBCK1,79,20);
LD C,20
PUSH BC
CALL LWRD ?0174
POP AF
; 174. main_ResShowPic(MRPLNOB,79,20);
LD C,20
PUSH BC
LD C,79
LD DE,215
JR ?0141
; 175. //ui_show_a(MRPLNOB);
; 176. break;
?0038:
; 177.
; 178. case ABLoopPlay:
; 179. main_ResShowPic(BBCK1,79,20);
LD C,20
PUSH BC
CALL LWRD ?0174
POP AF
; 180. main_ResShowPic(MRPLAB,79,20);
LD C,20
PUSH BC
LD C,79
LD DE,209
JR ?0144
; 181. break;
?0039:
; 182.
; 183. case FollowRec:
; 184. main_ResShowPic(BBCK1,79,20);
LD C,20
PUSH BC
CALL LWRD ?0174
POP AF
; 185. main_ResShowPic(MRPLMIC,79,20);
LD C,20
PUSH BC
LD C,79
LD DE,213
?0141:
JR ?0144
; 186. break;
?0040:
; 187.
; 188. case FollowAB:
; 189. main_ResShowPic(BBCK1,79,20);
LD C,20
PUSH BC
CALL LWRD ?0174
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -