ui_follow.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,135 行 · 第 1/4 页
LST
1,135 行
\ 00AB CD0000 CALL LWRD GetBattery
\ 00AE 4F LD C,A
\ 00AF 0600 LD B,0
\ 00B1 ED430000 LD (g_result),BC
121 if(g_result <= DEF_RecLowBatt)
\ 00B5 210500 LD HL,5
\ 00B8 CD0000 CALL LWRD ?SS_CMP_L02
\ 00BB 3808 JR C,?0014
\ 00BD ?0013:
122 {
123 DisplayErrMsg( MPWROUT );
\ 00BD 111802 LD DE,536
\ 00C0 CDE602 CALL LWRD ?0135
124 OpenMusic();
125 //RePlayStatus = ABLoopPlay;
126 RePlayStatus = NormalPlay;
127 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
128 need_draw = TRUE;
\ 00C3 ?0094:
\ 00C3 1822 JR ?0095
129 return NULL;
130 }
\ 00C5 ?0014:
131
132 //使控件不能出来
133 ui_run_realtime = TRUE;
\ 00C5 3E01 LD A,1
\ 00C7 320000 LD (ui_run_realtime),A
134
135 BankSwitch((unsigned long)wavrSendCommand >> 16);
\ 00CA 1E00 LD E,BYTE3 wavrSendCommand
\ 00CC 48 LD C,B
\ 00CD CD0000 CALL LWRD BankSwitch
136 wavrSendCommand(MC_OPEN, NULL);
\ 00D0 1E01 LD E,1
\ 00D2 CD0C03 CALL LWRD ?0138
137 if( !wavrSendCommand(MC_LOAD, (int)FollowReadTempFileName) )
\ 00D5 010000 LD BC,?0004
\ 00D8 1E03 LD E,3
\ 00DA CD0C03 CALL LWRD ?0138
\ 00DD 2C INC L
\ 00DE 2D DEC L
\ 00DF 2009 JR NZ,?0016
\ 00E1 ?0015:
138 {
139 DisplayErrMsg( MWRIERR );
\ 00E1 CD0103 CALL LWRD ?0136
140 OpenMusic();
\ 00E4 CDD202 CALL LWRD ?0134
141 RePlayStatus = ABLoopPlay;
142 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
143 need_draw = TRUE;
\ 00E7 ?0095:
\ 00E7 C32902 JP LWRD ?0099
144 return NULL;
145 }
\ 00EA ?0016:
\ 00EA ?0018:
146
147 //在开始前把清按键,下面才开始响应按键
148 while (ap_get_message() != 0);
\ 00EA CD0000 CALL LWRD ap_get_message
\ 00ED B7 OR A
\ 00EE 20FA JR NZ,?0016
\ 00F0 ?0019:
\ 00F0 ?0017:
149
150 wavrSendCommand(MC_RECORD, NULL);
\ 00F0 4F LD C,A
\ 00F1 47 LD B,A
\ 00F2 1E08 LD E,8
\ 00F4 CD0C03 CALL LWRD ?0138
151 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
\ 00F7 210000 LD HL,UpDisplayFlag
\ 00FA 23 INC HL
\ 00FB CBDE SET 3,(HL)
152 need_draw = TRUE;
\ 00FD 3E01 LD A,1
\ 00FF 320000 LD (need_draw),A
153 g_2HZ_CNT = 0;
\ 0102 210000 LD HL,0
\ 0105 220000 LD (g_2HZ_CNT),HL
\ 0108 ?0021:
154
155
156 while (1)
157 {
158 result = wavrProceed();
\ 0108 3E00 LD A,BYTE3 wavrProceed
\ 010A 210000 LD HL,LWRD wavrProceed
\ 010D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
159
160 //if( wavrProceed() == 1 )
161 if( result == 1 )
\ 0110 3E01 LD A,1
\ 0112 AD XOR L
\ 0113 B4 OR H
\ 0114 203F JR NZ,?0024
\ 0116 ?0023:
162 {
163 if( DiskSpace-- <= 200 )
\ 0116 DD6EF4 LD L,(IX-12)
\ 0119 DD66F5 LD H,(IX-11)
\ 011C DD4EF6 LD C,(IX-10)
\ 011F DD46F7 LD B,(IX-9)
\ 0122 C5 PUSH BC
\ 0123 E5 PUSH HL
\ 0124 CD0000 CALL LWRD ?L_DEC_L03
\ 0127 DD75F4 LD (IX-12),L
\ 012A DD74F5 LD (IX-11),H
\ 012D DD71F6 LD (IX-10),C
\ 0130 DD70F7 LD (IX-9),B
\ 0133 4F LD C,A
\ 0134 47 LD B,A
\ 0135 21C800 LD HL,200
\ 0138 CD0000 CALL LWRD ?SL_CMP_L03
\ 013B 382B JR C,?0029
\ 013D ?0025:
164 {
165 DealForExitRec();
\ 013D 3E00 LD A,BYTE3 DealForExitRec
\ 013F 210000 LD HL,LWRD DealForExitRec
\ 0142 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
166 DisplayErrMsg(MWRIERR);
\ 0145 CD0103 CALL LWRD ?0136
167 RePlayStatus = FollowAB;
\ 0148 3E05 LD A,5
\ 014A 320000 LD (RePlayStatus),A
168 // SetFullInterface();
169 return_to_play=1;
\ 014D 3E01 LD A,1
\ 014F 320000 LD (return_to_play),A
170 return NULL;
\ 0152 C3A202 JP LWRD ?0080
171 }
\ 0155 ?0026:
\ 0155 ?0024:
172 }
173 else if ( result == -1 )
\ 0155 7D LD A,L
\ 0156 A4 AND H
\ 0157 3C INC A
\ 0158 200E JR NZ,?0029
\ 015A ?0028:
174 {
175 DealForExitRec();
\ 015A 3E00 LD A,BYTE3 DealForExitRec
\ 015C 210000 LD HL,LWRD DealForExitRec
\ 015F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
176 DisplayErrMsg(MREADERR);
\ 0162 11FC01 LD DE,508
\ 0165 C32602 JP LWRD ?0100
177 OpenMusic();
178 RePlayStatus = NormalPlay;
179 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
180 need_draw = TRUE;
181 return NULL;
182 }
\ 0168 ?0029:
\ 0168 ?0027:
183
184
185 ///wavrProceed();
186 if (need_draw)
\ 0168 3A0000 LD A,(need_draw)
\ 016B B7 OR A
\ 016C 2814 JR Z,?0031
\ 016E ?0030:
187 {
188 Show_time_FC(); //显示比特率
\ 016E 3E00 LD A,BYTE3 Show_time_FC
\ 0170 210000 LD HL,LWRD Show_time_FC
\ 0173 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
189 RefreshMainScreen();
\ 0176 3E00 LD A,BYTE3 RefreshMainScreen
\ 0178 210000 LD HL,LWRD RefreshMainScreen
\ 017B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
190 need_draw = FALSE;
\ 017E AF XOR A
\ 017F 320000 LD (need_draw),A
\ 0182 ?0031:
191 }
192
193 key = ap_get_message();
\ 0182 CD1403 CALL LWRD ?0139
194
195 switch (key)
\ 0185 CD0000 CALL LWRD ?S_V_SWITCH_L06
\ 0188 0700 DEFW 7
\ 018A 1C00 DEFW 28
\ 018C 1D00 DEFW 29
\ 018E 2100 DEFW 33
\ 0190 2500 DEFW 37
\ 0192 2600 DEFW 38
\ 0194 3000 DEFW 48
\ 0196 3100 DEFW 49
\ 0198 5602 DEFW ?0044
\ 019A B901 DEFW ?0035
\ 019C C601 DEFW ?0036
\ 019E B901 DEFW ?0035
\ 01A0 DC01 DEFW ?0037
\ 01A2 A801 DEFW ?0034
\ 01A4 8902 DEFW ?0032
\ 01A6 0102 DEFW ?0038
\ 01A8 ?0033:
196 {
197 case AP_MSG_STANDBY:
198 break;
\ 01A8 ?0034:
199
200 case AP_KEY_PLAY | AP_KEY_UP: //进入stop状态
201 DealForExitRec();//关闭录音模块
\ 01A8 3E00 LD A,BYTE3 DealForExitRec
\ 01AA 210000 LD HL,LWRD DealForExitRec
\ 01AD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
202 RePlayStatus = NormalPlay;
203 /*
204 //************
205 //注:因为这里退出时外面要淡出,所以会发出声音,
206 //这里把音量设为0就相当于不淡出,这只是权余之计
207 //以后希望能改掉
208 SetPAVolume(0);
209
210 //由于在MC_PLAY命令中用这个标志来判断是否要设音量,这里送
211 //个非0就是为了认音量为0,从而在开始放MUSIC后不送出声音
212 g_FadeInStatusFlag = 2;
213 OpenMusic();
214 g_FadeInStatusFlag = 0;
215 //*************
216 */
217
218 g_FCexitflag = TRUE;
219 OpenMusic();
\ 01B0 CDAD02 CALL LWRD ?0133
220 //musicpSendCommand(MC_SETVOLUME, 0); //让音量为0,这可在淡出时没声
221
222 //UpDisplayFlag=UpDisplayFlag | up_MPRLmode;
223 SetFullInterface();
224 need_draw = TRUE;
225 return RESULT_UI_STOP2; //选关播放后回到停止界面
\ 01B3 216700 LD HL,103
226
227 case AP_KEY_AB | AP_KEY_UP:
\ 01B6 C3A502 JP LWRD ?0052
\ 01B9 ?0035:
228 case AP_KEY_NEXT | AP_KEY_UP: //进入对比状态
229 DealForExitRec();//关闭录音模块
\ 01B9 3E00 LD A,BYTE3 DealForExitRec
\ 01BB 210000 LD HL,LWRD DealForExitRec
\ 01BE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
230 RePlayStatus = CompareAB;
\ 01C1 3E07 LD A,7
\ 01C3 C39F02 JP LWRD ?0091
231 //UpDisplayFlag=UpDisplayFlag | up_MPRLmode;
232 //need_draw = TRUE;
233 return NULL;
234
235 case AP_KEY_MODE | AP_KEY_UP: //进入正常播放状态
\ 01C6 ?0036:
236 DealForExitRec();//关闭录音模块
\ 01C6 3E00 LD A,BYTE3 DealForExitRec
\ 01C8 210000 LD HL,LWRD DealForExitRec
\ 01CB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
237 OpenMusic();
\ 01CE 3E00 LD A,BYTE3 OpenMusic
\ 01D0 210000 LD HL,LWRD OpenMusic
\ 01D3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
238 RePlayStatus = NormalPlay;
\ 01D6 AF XOR A
\ 01D7 320000 LD (RePlayStatus),A
239 SetFullInterface();
\ 01DA 1816 JR ?0101
240 need_draw = TRUE;
241 return NULL;
242
243 case AP_KEY_PREV | AP_KEY_UP: //进入ab播放状态
\ 01DC ?0037:
244 DealForExitRec();//关闭录音模块
\ 01DC 3E00 LD A,BYTE3 DealForExitRec
\ 01DE 210000 LD HL,LWRD DealForExitRec
\ 01E1 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
245 OpenMusic();
\ 01E4 3E00 LD A,BYTE3 OpenMusic
\ 01E6 210000 LD HL,LWRD OpenMusic
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?