ui_stop.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,317 行 · 第 1/5 页
LST
1,317 行
\ 00A7 77 LD (HL),A
\ 00A8 23 INC HL
\ 00A9 36FF LD (HL),255
83 if(PlayStatus==PauseSta) //add by zxs for not refresh background when pause
\ 00AB 3A0000 LD A,(PlayStatus)
\ 00AE 3D DEC A
\ 00AF 200A JR NZ,?0020
\ 00B1 ?0019:
84 {
85 UpDisplayFlag=UpDisplayFlag & clr_musicBackGDPic;
\ 00B1 210000 LD HL,UpDisplayFlag
\ 00B4 CB86 RES 0,(HL)
86 UpDisplayFlag=UpDisplayFlag & clr_musiccurrenttime;
\ 00B6 23 INC HL
\ 00B7 CB8E RES 1,(HL)
87 // UpDisplayFlag=UpDisplayFlag & clr_musicbitrate;
88 }
89 else
\ 00B9 1804 JR ?0021
\ 00BB ?0020:
90 PlayStatus = StopSta;
\ 00BB AF XOR A
\ 00BC 320000 LD (PlayStatus),A
\ 00BF ?0021:
91 need_draw = TRUE;
\ 00BF 3E01 LD A,1
\ 00C1 320000 LD (need_draw),A
92 musicpSendCommand(MC_CALTIME, NULL); //zxs add
\ 00C4 010000 LD BC,0
\ 00C7 CD5001 CALL LWRD ?0178
93 CaltimeFlag=TRUE;
\ 00CA 3E01 LD A,1
\ 00CC 320100 LD (CaltimeFlag),A
94 g_result = ui_stop_loop();
\ 00CF 3E00 LD A,BYTE3 ui_stop_loop
\ 00D1 215A01 LD HL,LWRD ui_stop_loop
\ 00D4 CD4701 CALL LWRD ?0176
95 FS_FRemove( FollowReadTempFileName ); //删除产生的临时文件
\ 00D7 110000 LD DE,?0022
\ 00DA CD0000 CALL LWRD FS_FRemove
96 }while( (g_result == RESULT_CURR_UI)
97 || (g_result == RESULT_UI_STOP)
98 || (g_result == RESULT_UI_STOP2) );//还保持在ui_stop界面
\ 00DD 2A0000 LD HL,(g_result)
\ 00E0 7D LD A,L
\ 00E1 B4 OR H
\ 00E2 CA0D00 JP Z,?0004
\ 00E5 3E66 LD A,102
\ 00E7 AD XOR L
\ 00E8 B4 OR H
\ 00E9 CA0D00 JP Z,?0004
\ 00EC 3E67 LD A,103
\ 00EE AD XOR L
\ 00EF B4 OR H
\ 00F0 CA0D00 JP Z,?0004
\ 00F3 ?0002:
99 if (g_result == RESULT_LAST_UI)
\ 00F3 3E65 LD A,101
\ 00F5 AD XOR L
\ 00F6 B4 OR H
\ 00F7 2003 JR NZ,?0026
\ 00F9 ?0025:
100 {
101 return NULL;//不带参数回到上一级
\ 00F9 ?0162:
\ 00F9 210000 LD HL,0
102 }
\ 00FC ?0026:
103 return g_result;//带参数回到上一级
104 }
\ 00FC ?0027:
\ 00FC D1 POP DE
\ 00FD C1 POP BC
\ 00FE C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0101 ?0175:
\ 0101 3E00 LD A,BYTE3 GetInformation
\ 0103 210000 LD HL,LWRD GetInformation
\ 0106 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0109 010000 LD BC,g_Openparam
\ 010C 1E01 LD E,1
\ 010E 3E00 LD A,BYTE3 musicpSendCommand
\ 0110 210000 LD HL,LWRD musicpSendCommand
\ 0113 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0116 010000 LD BC,0
\ 0119 1E03 LD E,3
\ 011B 3E00 LD A,BYTE3 musicpSendCommand
\ 011D 210000 LD HL,LWRD musicpSendCommand
\ 0120 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0123 2600 LD H,0
\ 0125 220000 LD (g_result),HL
\ 0128 AF XOR A
\ 0129 320100 LD (CaltimeFlag),A
\ 012C 320000 LD (WaitForCaltimeCNT),A
\ 012F 320000 LD (ui_auto_update),A
\ 0132 210000 LD HL,UpDisplayFlag
\ 0135 7E LD A,(HL)
\ 0136 F6C1 OR 193
\ 0138 77 LD (HL),A
\ 0139 23 INC HL
\ 013A 36FF LD (HL),255
\ 013C 210000 LD HL,UpDisplayFlag
\ 013F CB86 RES 0,(HL)
\ 0141 3E01 LD A,1
\ 0143 320000 LD (need_draw),A
\ 0146 C9 RET
\ 0147 ?0176:
\ 0147 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 014A 220000 LD (g_result),HL
\ 014D C9 RET
\ 014E ?0179:
\ 014E 4F LD C,A
\ 014F 47 LD B,A
\ 0150 ?0178:
\ 0150 1E13 LD E,19
\ 0152 ?0177:
\ 0152 3E00 LD A,BYTE3 musicpSendCommand
\ 0154 210000 LD HL,LWRD musicpSendCommand
\ 0157 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 015A ui_stop_loop:
105 //======================================================================================
106
107 int ui_stop_loop()
108 //int ui_stop()
109 {
\ 015A CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 015D E6FF DEFW 65510
\ 015F FDE5 PUSH IY
110 mp3_play_status_t status_buf;
111 slider_t slider;
112 char key;
113 char modekeystore = NULL;
114 int result;
115 char i;
116
117
118 MusicEdit_SelSeg.StartSec=0;
\ 0161 010000 LD BC,0
\ 0164 69 LD L,C
\ 0165 60 LD H,B
\ 0166 220000 LD (MusicEdit_SelSeg),HL
\ 0169 ED430200 LD (MusicEdit_SelSeg+2),BC
119 MusicEdit_SelSeg.EndSec=0;
\ 016D 220400 LD (MusicEdit_SelSeg+4),HL
\ 0170 ED430600 LD (MusicEdit_SelSeg+6),BC
120 MusicEditSelStatus=MusicEditSelSta_NoSel; //music edit add by mzh 2007.1.19
\ 0174 AF XOR A
\ 0175 320000 LD (MusicEditSelStatus),A
121 MusicEditStatus=MusicEditSta_NoFun;
\ 0178 320000 LD (MusicEditStatus),A
\ 017B DD70FA LD (IX-6),B
\ 017E ?0029:
122 while(1)
123 {
124 //清空消息池
125 result = ap_get_message();
\ 017E CD0000 CALL LWRD ap_get_message
\ 0181 4F LD C,A
\ 0182 C5 PUSH BC
\ 0183 FDE1 POP IY
126 if (result == NULL)
\ 0185 79 LD A,C
\ 0186 B7 OR A
\ 0187 280B JR Z,?0028
\ 0189 ?0031:
127 {
128 break;
\ 0189 ?0032:
129 }
130 if (result == AP_MSG_STANDBY)
\ 0189 FDE5 PUSH IY
\ 018B E1 POP HL
\ 018C 3E1D LD A,29
\ 018E AD XOR L
\ 018F B4 OR H
\ 0190 20EC JR NZ,?0029
\ 0192 ?0033:
131 {
132 //碰到 standby 消息时要优先处理,否则会漏掉 standby 消息
133 return RESULT_STANDBY;
\ 0192 1867 JR ?0046
134 }
\ 0194 ?0034:
135 }
136
137
138 while (1)
\ 0194 ?0028:
\ 0194 ?0036:
139 {
140
141
142 key = ap_get_message();
\ 0194 CD0000 CALL LWRD ap_get_message
\ 0197 DD77F9 LD (IX-7),A
143 if(g_from_browser)
\ 019A 3A0000 LD A,(g_from_browser)
\ 019D B7 OR A
\ 019E 2808 JR Z,?0039
\ 01A0 ?0038:
144 {
145 key = (AP_KEY_PLAY | AP_KEY_UP);
146 g_from_browser = FALSE;
\ 01A0 AF XOR A
\ 01A1 320000 LD (g_from_browser),A
\ 01A4 DD36F921 LD (IX-7),33
\ 01A8 ?0039:
147 }
148 if (need_draw)
\ 01A8 3A0000 LD A,(need_draw)
\ 01AB B7 OR A
\ 01AC 280C JR Z,?0041
\ 01AE ?0040:
149 {
150 RefreshMainScreen();
\ 01AE 3E00 LD A,BYTE3 RefreshMainScreen
\ 01B0 210000 LD HL,LWRD RefreshMainScreen
\ 01B3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
151 need_draw = FALSE;
\ 01B6 AF XOR A
\ 01B7 320000 LD (need_draw),A
\ 01BA ?0041:
152 }
153
154 switch (key)
\ 01BA DD5EF9 LD E,(IX-7)
\ 01BD CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 01C0 0E00 DEFW 14
\ 01C2 05 DEFB 5
\ 01C3 06 DEFB 6
\ 01C4 10 DEFB 16
\ 01C5 1C DEFB 28
\ 01C6 21 DEFB 33
\ 01C7 25 DEFB 37
\ 01C8 26 DEFB 38
\ 01C9 30 DEFB 48
\ 01CA 32 DEFB 50
\ 01CB 37 DEFB 55
\ 01CC 38 DEFB 56
\ 01CD 45 DEFB 69
\ 01CE 46 DEFB 70
\ 01CF 81 DEFB 129
\ 01D0 7904 DEFW ?0128
\ 01D2 FB01 DEFW ?0046
\ 01D4 3904 DEFW ?0118
\ 01D6 1404 DEFW ?0108
\ 01D8 A604 DEFW ?0042
\ 01DA 5904 DEFW ?0124
\ 01DC A604 DEFW ?0042
\ 01DE DB03 DEFW ?0097
\ 01E0 3104 DEFW ?0114
\ 01E2 0B04 DEFW ?0104
\ 01E4 0102 DEFW ?0047
\ 01E6 EE01 DEFW ?0043
\ 01E8 D503 DEFW ?0096
\ 01EA 3904 DEFW ?0118
\ 01EC 1404 DEFW ?0108
\ 01EE ?0043:
155 {
156 case AP_MSG_RTC:
157 if (!CaltimeFlag)
\ 01EE 3A0100 LD A,(CaltimeFlag)
\ 01F1 B7 OR A
\ 01F2 2004 JR NZ,?0045
\ 01F4 ?0044:
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?