show_stop_menu.lst
来自「MP3 整个 SDK」· LST 代码 · 共 1,396 行 · 第 1/5 页
LST
1,396 行
227 }
\ 01F3 ?0037:
\ 01F3 ?0035:
228 }
229 if(menu_flag)
\ 01F3 AF XOR A
\ 01F4 DDB6F2 OR (IX-14)
\ 01F7 ED5B0400 LD DE,(g_list+4)
\ 01FB 2874 JR Z,?0039
\ 01FD ?0038:
230 {
231 switch( g_list.active )
\ 01FD CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 0200 0000 DEFW 0
\ 0202 0400 DEFW 4
\ 0204 DA03 DEFW ?0081
\ 0206 0E02 DEFW ?0041
\ 0208 C903 DEFW ?0078
\ 020A D003 DEFW ?0079
\ 020C DA03 DEFW ?0081
\ 020E ?0041:
232 {
233 case 0: //local folder
234 if(g_record_vars.location.disk=='H')
\ 020E 3A0A00 LD A,(g_record_vars+10)
\ 0211 FE48 CP 72
\ 0213 2005 JR NZ,?0043
\ 0215 ?0042:
235 {
236 g_record_vars.location.disk='C' ;
237 memset(g_record_vars.location.filename,0,12);
\ 0215 CDE503 CALL LWRD ?0195
238 }
239 else
\ 0218 1810 JR ?0044
\ 021A ?0043:
240 {
241 memcpy(file, g_record_vars.location.filename,12);
\ 021A 0E0C LD C,12
\ 021C 210400 LD HL,4
\ 021F 39 ADD HL,SP
\ 0220 EB EX DE,HL
\ 0221 212400 LD HL,g_record_vars+36
\ 0224 EDB0 LDIR
242 g_record_vars.location.filename[0] = 0;
\ 0226 AF XOR A
\ 0227 322400 LD (g_record_vars+36),A
\ 022A ?0044:
243 }
244 //fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR, 'C');
245 fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR,g_record_vars.location.disk);
\ 022A 210A00 LD HL,g_record_vars+10
\ 022D 4E LD C,(HL)
\ 022E C5 PUSH BC
\ 022F 0E00 LD C,0
\ 0231 C5 PUSH BC
\ 0232 CDF303 CALL LWRD ?0197
\ 0235 F1 POP AF
\ 0236 F1 POP AF
246 fselGetLocation(&g_record_vars.location);
\ 0237 CDFF03 CALL LWRD ?0198
247 result = ui_directory(&g_record_vars.location, DIRECTORY_ALL, g_comval.langid);
\ 023A C5 PUSH BC
\ 023B CD0F04 CALL LWRD ?0199
\ 023E F1 POP AF
\ 023F DD75F0 LD (IX-16),L
\ 0242 DD74F1 LD (IX-15),H
248 memcpy(g_record_vars.location.filename, file, 12);
\ 0245 010C00 LD BC,12
\ 0248 112400 LD DE,g_record_vars+36
\ 024B 210400 LD HL,4
\ 024E 39 ADD HL,SP
\ 024F EDB0 LDIR
249 g_menu_active = FALSE;
\ 0251 AF XOR A
\ 0252 320000 LD (g_menu_active),A
250
251 if(result == RESULT_IGNORE)
\ 0255 3E34 LD A,52
\ 0257 DDAEF0 XOR (IX-16)
\ 025A DDB6F1 OR (IX-15)
\ 025D 2006 JR NZ,?0046
\ 025F ?0045:
252 result= 0;
\ 025F DD77F0 LD (IX-16),A
\ 0262 DD77F1 LD (IX-15),A
\ 0265 ?0046:
253 if(result != 0) return result;
\ 0265 DD7EF0 LD A,(IX-16)
\ 0268 DDB6F1 OR (IX-15)
\ 026B CABC03 JP Z,?0077
\ 026E ?0047:
\ 026E C3B403 JP LWRD ?0160
254 else
\ 0271 ?0048:
255 {
256 make_dirname();
257 return RESULT_DIR_CHANGED;
258 }
\ 0271 ?0049:
259 //break;
260
261 case 1:
262 result = show_RecFrom_menu();
263
264 return result;
265
266 case 2: //rec type
\ 0271 ?0050:
267 result = show_rectype_menu();
268
269 return result;
270 //break;
271 case 3: //exit
\ 0271 ?0051:
272 return 0;
273 default:
\ 0271 ?0052:
\ 0271 ?0040:
274 //ASSERT(FALSE);
275 ;
276 }//switch
277 return 0;
278
279 }
\ 0271 ?0039:
280 else //CARD
281 {
282 switch( g_list.active )
\ 0271 CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 0274 0000 DEFW 0
\ 0276 0500 DEFW 5
\ 0278 DA03 DEFW ?0081
\ 027A 8402 DEFW ?0054
\ 027C E702 DEFW ?0062
\ 027E C903 DEFW ?0078
\ 0280 D003 DEFW ?0079
\ 0282 DA03 DEFW ?0081
\ 0284 ?0054:
283 {
284 case 0: //local folder
285 if(g_record_vars.location.disk=='H')
\ 0284 3A0A00 LD A,(g_record_vars+10)
\ 0287 FE48 CP 72
\ 0289 2005 JR NZ,?0056
\ 028B ?0055:
286 {
287 g_record_vars.location.disk='C' ;
288 memset(g_record_vars.location.filename,0,12);
\ 028B CDE503 CALL LWRD ?0195
289 }
290 else
\ 028E 1810 JR ?0057
\ 0290 ?0056:
291 {
292 memcpy(file, g_record_vars.location.filename,12);
\ 0290 0E0C LD C,12
\ 0292 210400 LD HL,4
\ 0295 39 ADD HL,SP
\ 0296 EB EX DE,HL
\ 0297 212400 LD HL,g_record_vars+36
\ 029A EDB0 LDIR
293 g_record_vars.location.filename[0] = 0;
\ 029C AF XOR A
\ 029D 322400 LD (g_record_vars+36),A
\ 02A0 ?0057:
294 }
295 fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR,g_record_vars.location.disk);
\ 02A0 210A00 LD HL,g_record_vars+10
\ 02A3 4E LD C,(HL)
\ 02A4 C5 PUSH BC
\ 02A5 0E00 LD C,0
\ 02A7 C5 PUSH BC
\ 02A8 CDF303 CALL LWRD ?0197
\ 02AB F1 POP AF
\ 02AC F1 POP AF
296 fselGetLocation(&g_record_vars.location);
\ 02AD CDFF03 CALL LWRD ?0198
297 result = ui_directory(&g_record_vars.location, DIRECTORY_ALL, g_comval.langid);
\ 02B0 C5 PUSH BC
\ 02B1 CD0F04 CALL LWRD ?0199
\ 02B4 F1 POP AF
\ 02B5 DD75F0 LD (IX-16),L
\ 02B8 DD74F1 LD (IX-15),H
298 memcpy(g_record_vars.location.filename, file, 12);
\ 02BB 010C00 LD BC,12
\ 02BE 112400 LD DE,g_record_vars+36
\ 02C1 210400 LD HL,4
\ 02C4 39 ADD HL,SP
\ 02C5 EDB0 LDIR
299 g_menu_active = FALSE;
\ 02C7 AF XOR A
\ 02C8 320000 LD (g_menu_active),A
300
301 if(result == RESULT_IGNORE)
\ 02CB 3E34 LD A,52
\ 02CD DDAEF0 XOR (IX-16)
\ 02D0 DDB6F1 OR (IX-15)
\ 02D3 2006 JR NZ,?0059
\ 02D5 ?0058:
302 result= 0;
\ 02D5 DD77F0 LD (IX-16),A
\ 02D8 DD77F1 LD (IX-15),A
\ 02DB ?0059:
303 if(result != 0) return result;
\ 02DB DD7EF0 LD A,(IX-16)
\ 02DE DDB6F1 OR (IX-15)
\ 02E1 CABC03 JP Z,?0077
\ 02E4 ?0060:
\ 02E4 C3B403 JP LWRD ?0160
304 else
\ 02E7 ?0061:
305 {
306 make_dirname();
307 return RESULT_DIR_CHANGED;
308 }
\ 02E7 ?0062:
309
310 case 1: //card folder
311
312 if(g_record_vars.location.disk=='C')
\ 02E7 3A0A00 LD A,(g_record_vars+10)
\ 02EA FE43 CP 67
\ 02EC 2049 JR NZ,?0064
\ 02EE ?0063:
313 {
314 g_record_vars.location.disk='H' ;
\ 02EE 3E48 LD A,72
\ 02F0 320A00 LD (g_record_vars+10),A
315 result=fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR,g_record_vars.location.disk);
\ 02F3 4F LD C,A
\ 02F4 C5 PUSH BC
\ 02F5 48 LD C,B
\ 02F6 C5 PUSH BC
\ 02F7 CDF303 CALL LWRD ?0197
\ 02FA F1 POP AF
\ 02FB F1 POP AF
316 if(!result)
\ 02FC 7D LD A,L
\ 02FD B7 OR A
\ 02FE 201B JR NZ,?0066
\ 0300 ?0065:
317 {
318 g_record_vars.location.disk='C' ;
319 show_error(CREADERR);//显示卡错
\ 0300 CD1C04 CALL LWRD ?0200
320 fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR,g_record_vars.location.disk);
\ 0303 210A00 LD HL,g_record_vars+10
\ 0306 4E LD C,(HL)
\ 0307 C5 PUSH BC
\ 0308 0E00 LD C,0
\ 030A C5 PUSH BC
\ 030B CDF303 CALL LWRD ?0197
\ 030E F1 POP AF
\ 030F F1 POP AF
321 reset_record_dir();
\ 0310 3E00 LD A,BYTE3 reset_record_dir
\ 0312 210000 LD HL,LWRD reset_record_dir
\ 0315 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
322 make_dirname();
\ 0318 C3BC03 JP LWRD ?0077
323 return RESULT_DIR_CHANGED;
324 //return 0;
325
326 }
\ 031B ?0066:
327 if((g_record_vars.rec_bitrate==3)||(g_record_vars.rec_bitrate==2))
\ 031B 3A0300 LD A,(g_record_vars+3)
\ 031E FE03 CP 3
\ 0320 2804 JR Z,?0069
\ 0322 3D DEC A
\ 0323 3D DEC A
\ 0324 2009 JR NZ,?0068
\ 0326 ?0069:
\ 0326 ?0070:
\ 0326 ?0067:
328 {
329 g_record_vars.rec_bitrate=0;
\ 0326 AF XOR A
\ 0327 320300 LD (g_record_vars+3),A
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?