ui_stop.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,055 行 · 第 1/4 页
LST
1,055 行
\ 0213 212000 LD HL,32
\ 0216 E5 PUSH HL
\ 0217 010002 LD BC,512
\ 021A 110000 LD DE,g_comval
\ 021D CD0000 CALL LWRD VMRead
\ 0220 E1 POP HL
154 g_comval.LightTime = 0;
\ 0221 AF XOR A
\ 0222 320900 LD (g_comval+9),A
155 SetContrast(g_comval.DisplayContrast);
\ 0225 ED5B0800 LD DE,(g_comval+8)
\ 0229 CD0000 CALL LWRD SetContrast
156 ap_message_init(&g_comval);
\ 022C 110000 LD DE,g_comval
\ 022F CD2C01 CALL LWRD ?0123
157 SetBackgdColor(Color_BLACK_def);
\ 0232 010000 LD BC,0
\ 0235 59 LD E,C
\ 0236 50 LD D,B
\ 0237 CD0000 CALL LWRD SetBackgdColor
158 /*
159 // tempReg4f = input8(0x4f);
160 output8(0x4f,0x47); //VDD 1.8V
161 ap_sleep(1); */
162 g_result = ui_play();
\ 023A 3E00 LD A,BYTE3 ui_play
\ 023C 210000 LD HL,LWRD ui_play
\ 023F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0242 220000 LD (g_result),HL
163 /*
164 output8(0xf4, input8(0xf4) & 0xf7); //SRAM CE2 Disable
165 output8(0x4f, 0x43);
166 ap_sleep(1);*/
167 ///- SetBackgdColor(Color_MENU_def);
168 VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
\ 0245 012000 LD BC,32
\ 0248 C5 PUSH BC
\ 0249 010002 LD BC,512
\ 024C 110000 LD DE,g_comval
\ 024F CD0000 CALL LWRD VMRead
\ 0252 E1 POP HL
169 ap_message_init(&g_comval);
\ 0253 110000 LD DE,g_comval
\ 0256 CD2C01 CALL LWRD ?0123
170 /////////////////////////////////////////////
171
172 ap_message_init(NULL);//开始算STANDBY 时间
\ 0259 CD2901 CALL LWRD ?0122
173 ui_run_realtime = FALSE;
\ 025C AF XOR A
\ 025D 320000 LD (ui_run_realtime),A
174 if(g_result==0)
\ 0260 2A0000 LD HL,(g_result)
\ 0263 7D LD A,L
\ 0264 B4 OR H
\ 0265 2832 JR Z,?0114
\ 0267 ?0038:
175 {
176 need_draw=TRUE;
177 return g_result;
178 }
\ 0267 ?0039:
179 else if(g_result==RESULT_UI_STOP2)
\ 0267 3E67 LD A,103
\ 0269 AD XOR L
\ 026A B4 OR H
\ 026B 2056 JR NZ,?0052
\ 026D ?0040:
180 {
181 //byte Reg_27h=input8(0x27);
182 output8(0x27,input8(0x27)&0xfe); //关Dsp中断 防止花屏 zxs add
\ 026D DB27 IN A,(39)
\ 026F CB87 RES 0,A
\ 0271 D327 OUT (39),A
183 ui_show_msg (CARDPULL, CARDPULL, g_langid);
\ 0273 ED4B0000 LD BC,(g_langid)
\ 0277 0600 LD B,0
\ 0279 C5 PUSH BC
\ 027A 018A01 LD BC,394
\ 027D 59 LD E,C
\ 027E 50 LD D,B
\ 027F 3E00 LD A,BYTE3 ui_show_msg
\ 0281 210000 LD HL,LWRD ui_show_msg
\ 0284 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0287 F1 POP AF
\ 0288 ?0043:
184 while( ap_get_message() != NULL ); //清空消息池
\ 0288 CD0000 CALL LWRD ap_get_message
\ 028B B7 OR A
\ 028C 20FA JR NZ,?0043
\ 028E ?0044:
\ 028E ?0042:
185 ap_sleep(4);
\ 028E 110400 LD DE,4
\ 0291 3E00 LD A,BYTE3 ap_sleep
\ 0293 210000 LD HL,LWRD ap_sleep
\ 0296 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
186 need_draw = TRUE;
\ 0299 ?0114:
\ 0299 3E01 LD A,1
\ 029B 320000 LD (need_draw),A
187 return g_result;
\ 029E 1823 JR ?0052
188
189 }
\ 02A0 ?0041:
190 else return g_result;
191
192 case AP_KEY_MODE:
\ 02A0 ?0045:
193 g_menu_active=TRUE;
194 break;
\ 02A0 ?0046:
195 case AP_KEY_MODE | AP_KEY_UP: //短按MODE
196 if(g_menu_active)
\ 02A0 3A0000 LD A,(g_menu_active)
\ 02A3 B7 OR A
\ 02A4 2823 JR Z,?0048
\ 02A6 ?0047:
197 {
198 g_result = ui_stop_menu();
\ 02A6 3E00 LD A,BYTE3 ui_stop_menu
\ 02A8 210000 LD HL,LWRD ui_stop_menu
\ 02AB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02AE 220000 LD (g_result),HL
199
200 if (g_result == RESULT_SD_OUT)
\ 02B1 3E36 LD A,54
\ 02B3 AD XOR L
\ 02B4 B4 OR H
\ 02B5 2005 JR NZ,?0050
\ 02B7 ?0049:
201 {
202 return RESULT_CURR_UI;
\ 02B7 6F LD L,A
\ 02B8 67 LD H,A
203 }
\ 02B9 C3F203 JP LWRD ?0094
\ 02BC ?0050:
204 if (g_result == RESULT_IGNORE)
\ 02BC 3E34 LD A,52
\ 02BE AD XOR L
\ 02BF B4 OR H
\ 02C0 CAE203 JP Z,?0120
\ 02C3 ?0051:
205 {
206 need_draw = TRUE;
207 break;
\ 02C3 ?0052:
208 }
209 return g_result;//热键或等于0时返回
\ 02C3 2A0000 LD HL,(g_result)
210 }
\ 02C6 C3F203 JP LWRD ?0094
\ 02C9 ?0048:
211 else
212 g_menu_active=TRUE;
\ 02C9 3E01 LD A,1
\ 02CB 320000 LD (g_menu_active),A
213 break;
\ 02CE C39A01 JP LWRD ?0025
\ 02D1 ?0053:
\ 02D1 ?0055:
214
215 //break;
216 // case AP_KEY_MODE | AP_KEY_HOLD: //长按MODE
217 // return RESULT_MAIN; //返回main ap
218
219 case AP_KEY_PREV | AP_KEY_UP:
220 while(ap_get_message() != 0);
\ 02D1 CD0000 CALL LWRD ap_get_message
\ 02D4 B7 OR A
\ 02D5 CA9A01 JP Z,?0025
\ 02D8 ?0056:
221 break;
\ 02D8 18F7 JR ?0053
\ 02DA ?0054:
\ 02DA ?0057:
222
223 case AP_KEY_PREV:
224 case AP_KEY_PREV | AP_KEY_HOLD:
225 #ifndef __6KEYMODE__
226 if(g_volcounter>0)
227 {
228 g_volcounter = 6;
229
230 if(g_amv_vars.volume>0)
231 {
232 vol_callback(--g_amv_vars.volume);
233 ui_show_vol(g_amv_vars.volume);
234 }
235 }
236 else
237 #endif
238 {
239 if (g_changevolume&0x01)
\ 02DA 3A0000 LD A,(g_changevolume)
\ 02DD CB47 BIT 0,A
\ 02DF 2805 JR Z,?0059
\ 02E1 ?0058:
240 {
241 g_changevolume|=0x3f;
\ 02E1 F63F OR 63
\ 02E3 320000 LD (g_changevolume),A
\ 02E6 ?0059:
242 // goto vol_sub_lzd;
243 }
244 memcpy(g_TagInfoBuf1, g_TagInfoBuf, 20);
\ 02E6 011400 LD BC,20
\ 02E9 110000 LD DE,g_TagInfoBuf1
\ 02EC 210000 LD HL,g_TagInfoBuf
\ 02EF EDB0 LDIR
245 //g_TagInfoBuf1[18]=0;
246 g_TagInfoBuf1[20]=0;
\ 02F1 AF XOR A
\ 02F2 321400 LD (g_TagInfoBuf1+20),A
247 g_result = ChangeMusic(Music_Prev, Stop_key);
248 GetInformation(); //取文件信息
\ 02F5 CD4C01 CALL LWRD ?0126
249 need_draw = TRUE;
\ 02F8 3E01 LD A,1
\ 02FA 320000 LD (need_draw),A
\ 02FD ?0061:
250 }
251 //清除多出的HOLD消息,防止按键停了还跳几曲
252 while(ap_get_message() != 0);
\ 02FD CD0000 CALL LWRD ap_get_message
\ 0300 B7 OR A
\ 0301 CA9A01 JP Z,?0025
\ 0304 ?0062:
253 break;
\ 0304 18F7 JR ?0061
\ 0306 ?0060:
\ 0306 ?0063:
\ 0306 ?0065:
254
255 case AP_KEY_NEXT | AP_KEY_UP:
256 while(ap_get_message() != 0);
\ 0306 CD0000 CALL LWRD ap_get_message
\ 0309 B7 OR A
\ 030A CA9A01 JP Z,?0025
\ 030D ?0066:
257 break;
\ 030D 18F7 JR ?0063
\ 030F ?0064:
\ 030F ?0067:
258
259 case AP_KEY_NEXT:
260 case AP_KEY_NEXT | AP_KEY_HOLD:
261 #ifndef __6KEYMODE__
262 if(g_volcounter>0)
263 {
264 g_volcounter = 6;
265
266 if(g_amv_vars.volume<31)
267 {
268 vol_callback(++g_amv_vars.volume);
269 ui_show_vol(g_amv_vars.volume);
270 }
271 }
272 else
273 #endif
274 {
275 g_result = ChangeMusic(Music_Next, Stop_key);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?