decodermenu.lst
来自「MP3 整个 SDK」· LST 代码 · 共 876 行 · 第 1/3 页
LST
876 行
\ 00F5 C5 PUSH BC
\ 00F6 69 LD L,C
\ 00F7 61 LD H,C
\ 00F8 E5 PUSH HL
\ 00F9 110900 LD DE,sub_list
\ 00FC 3E00 LD A,BYTE3 ui_popup_list
\ 00FE 210000 LD HL,LWRD ui_popup_list
\ 0101 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0104 F1 POP AF
\ 0105 F1 POP AF
\ 0106 E5 PUSH HL
\ 0107 DDE1 POP IX
98 if(result!=0)
\ 0109 7D LD A,L
\ 010A B4 OR H
\ 010B C29403 JP NZ,?0036
\ 010E ?0020:
99 {
100 return result;
101 }
\ 010E ?0021:
102 active=sub_list.active;
\ 010E 2A0D00 LD HL,(sub_list+4)
103 g_viewpic_vars.playflag=active;
\ 0111 7D LD A,L
\ 0112 320200 LD (g_viewpic_vars+2),A
104 if(active==1)
\ 0115 3E01 LD A,1
\ 0117 AD XOR L
\ 0118 B4 OR H
\ 0119 C24903 JP NZ,?0049
\ 011C ?0022:
105 {
106 slider.min = 2; // by jmzhang
\ 011C 210200 LD HL,2
\ 011F 221400 LD (slider+2),HL
107 slider.max = 10;
\ 0122 2E0A LD L,10
\ 0124 221600 LD (slider+4),HL
108 slider.step = 1;
\ 0127 2E01 LD L,1
\ 0129 221A00 LD (slider+8),HL
109 slider.value = g_viewpic_vars.autoplaytime;
\ 012C ED4B0300 LD BC,(g_viewpic_vars+3)
\ 0130 44 LD B,H
\ 0131 ED431800 LD (slider+6),BC
110 if(slider.value==1)
\ 0135 69 LD L,C
\ 0136 60 LD H,B
\ 0137 3E01 LD A,1
\ 0139 AD XOR L
\ 013A 2005 JR NZ,?0025
\ 013C ?0024:
111 slider.value=2;
\ 013C 2E02 LD L,2
\ 013E 221800 LD (slider+6),HL
\ 0141 ?0025:
112 slider.title = JPEGSET2;
\ 0141 21DD01 LD HL,477
\ 0144 221200 LD (slider),HL
113 slider.string_id=g_comval.langid;
\ 0147 3A0C00 LD A,(g_comval+12)
\ 014A 321C00 LD (slider+10),A
114 result = ui_slider(&slider, NULL);
\ 014D 48 LD C,B
\ 014E C5 PUSH BC
\ 014F C5 PUSH BC
\ 0150 111200 LD DE,slider
\ 0153 3E00 LD A,BYTE3 ui_slider
\ 0155 210000 LD HL,LWRD ui_slider
\ 0158 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 015B F1 POP AF
\ 015C F1 POP AF
\ 015D E5 PUSH HL
\ 015E DDE1 POP IX
115 if(result != 0)
\ 0160 7D LD A,L
\ 0161 B4 OR H
\ 0162 CA4303 JP Z,?0053
\ 0165 ?0026:
116 {
117 return result;
\ 0165 C39403 JP LWRD ?0036
118 }
\ 0168 ?0027:
119 g_viewpic_vars.autoplaytime = (char)slider.value;
\ 0168 ?0023:
120 }
121
122 return RESULT_IGNORE;
123
124 case 2:
\ 0168 ?0028:
125 result=ui_delete(&g_viewpic_vars.location,DELETE_FILE,g_comval.langid);
\ 0168 210C00 LD HL,g_comval+12
\ 016B 4E LD C,(HL)
\ 016C C5 PUSH BC
\ 016D 48 LD C,B
\ 016E 110400 LD DE,g_viewpic_vars+4
\ 0171 3E00 LD A,BYTE3 ui_delete
\ 0173 210000 LD HL,LWRD ui_delete
\ 0176 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0179 F1 POP AF
\ 017A E5 PUSH HL
\ 017B DDE1 POP IX
126 FSELSetMode( FSEL_ALL_REPEATALL );
\ 017D CDA103 CALL LWRD ?0097
127 fselGetNext(g_viewpic_vars.location.filename);
\ 0180 111E00 LD DE,g_viewpic_vars+30
\ 0183 3E00 LD A,BYTE3 fselGetNext
\ 0185 210000 LD HL,LWRD fselGetNext
\ 0188 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
128 if(FSELGetTotal()==0) // 删除全部文件后退出到main AP zxs add
\ 018B 3E00 LD A,BYTE3 fselGetTotal
\ 018D 210000 LD HL,LWRD fselGetTotal
\ 0190 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0193 7D LD A,L
\ 0194 B4 OR H
\ 0195 2026 JR NZ,?0030
\ 0197 ?0029:
129 {
130 result=ui_show_msg (DFILEOUT, DFILEOUT, g_comval.langid);
\ 0197 ED4B0C00 LD BC,(g_comval+12)
\ 019B 47 LD B,A
\ 019C C5 PUSH BC
\ 019D 019201 LD BC,402
\ 01A0 59 LD E,C
\ 01A1 50 LD D,B
\ 01A2 3E00 LD A,BYTE3 ui_show_msg
\ 01A4 210000 LD HL,LWRD ui_show_msg
\ 01A7 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01AA F1 POP AF
131 ap_sleep(4);
\ 01AB 110400 LD DE,4
\ 01AE 3E00 LD A,BYTE3 ap_sleep
\ 01B0 210000 LD HL,LWRD ap_sleep
\ 01B3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
132 result=RESULT_MAIN;
\ 01B6 DD210A00 LD IX,10
133 break;
\ 01BA C39403 JP LWRD ?0036
\ 01BD ?0030:
134 }
135 if(result==RESULT_IGNORE)result=0;
\ 01BD DDE5 PUSH IX
\ 01BF E1 POP HL
\ 01C0 3E34 LD A,52
\ 01C2 AD XOR L
\ 01C3 B4 OR H
\ 01C4 C29403 JP NZ,?0036
\ 01C7 ?0031:
\ 01C7 C38A03 JP LWRD ?0094
\ 01CA ?0032:
136 break;
\ 01CA ?0033:
137
138 case 3:
139 FSELSetMode( FSEL_ALL_REPEATALL );
\ 01CA CDA103 CALL LWRD ?0097
140 result=ui_delete_all(&g_viewpic_vars.location,DELETE_PIC,g_comval.langid);
\ 01CD 210C00 LD HL,g_comval+12
\ 01D0 4E LD C,(HL)
\ 01D1 C5 PUSH BC
\ 01D2 0E05 LD C,5
\ 01D4 110400 LD DE,g_viewpic_vars+4
\ 01D7 3E00 LD A,BYTE3 ui_delete_all
\ 01D9 210000 LD HL,LWRD ui_delete_all
\ 01DC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01DF F1 POP AF
\ 01E0 E5 PUSH HL
\ 01E1 DDE1 POP IX
141 break;
\ 01E3 C39403 JP LWRD ?0036
\ 01E6 ?0034:
142
143 case 4:
144 result = RESULT_IGNORE;
145 break;
\ 01E6 ?0035:
146
147 default:
148 result = RESULT_IGNORE;
149 break;
\ 01E6 ?0015:
150 }
151
152 return result;
153 }
\ 01E6 ?0014:
154
155 else //有卡
156 {
157
158 switch (list.active)
\ 01E6 CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 01E9 0000 DEFW 0
\ 01EB 0600 DEFW 6
\ 01ED 9003 DEFW ?0061
\ 01EF FB01 DEFW ?0037
\ 01F1 2C02 DEFW ?0040
\ 01F3 AC02 DEFW ?0045
\ 01F5 4E03 DEFW ?0054
\ 01F7 6B03 DEFW ?0057
\ 01F9 9003 DEFW ?0061
\ 01FB ?0037:
159 {
160 case 0:
161 if (g_viewpic_vars.location.disk == 'H')
\ 01FB 3A0400 LD A,(g_viewpic_vars+4)
\ 01FE FE48 CP 72
\ 0200 C28A02 JP NZ,?0042
\ 0203 ?0038:
162 {
163 g_viewpic_vars.location.disk = 'C';
\ 0203 ?0095:
\ 0203 3E43 LD A,67
\ 0205 320400 LD (g_viewpic_vars+4),A
164 FSELInit(FSEL_TYPE_DSC, FSEL_ALL_REPEATALL,FSEL_TYPE_COMMONDIR, g_viewpic_vars.location.disk);
\ 0208 4F LD C,A
\ 0209 C5 PUSH BC
\ 020A 48 LD C,B
\ 020B C5 PUSH BC
\ 020C 0E04 LD C,4
\ 020E 1E03 LD E,3
\ 0210 3E00 LD A,BYTE3 fselInit
\ 0212 210000 LD HL,LWRD fselInit
\ 0215 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0218 F1 POP AF
\ 0219 F1 POP AF
165 fselGetLocation(& g_viewpic_vars.location);
\ 021A 110400 LD DE,g_viewpic_vars+4
\ 021D 3E00 LD A,BYTE3 fselGetLocation
\ 021F 210000 LD HL,LWRD fselGetLocation
\ 0222 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
166 need_sel_file=TRUE;
\ 0225 3E01 LD A,1
\ 0227 320000 LD (need_sel_file),A
\ 022A ?0039:
167 }
168
169 result=ui_directory(&g_viewpic_vars.location, FSEL_TYPE_DSC, g_comval.langid);
\ 022A 185E JR ?0042
170 FSELSetMode(FSEL_ALL_SEQUENCE);
171 g_menu_active = FALSE;
172 break;
\ 022C ?0040:
173
174 case 1:
175 if (g_viewpic_vars.location.disk == 'C')
\ 022C 3A0400 LD A,(g_viewpic_vars+4)
\ 022F FE43 CP 67
\ 0231 2057 JR NZ,?0042
\ 0233 ?0041:
176 {
177 g_viewpic_vars.location.disk = 'H';
\ 0233 3E48 LD A,72
\ 0235 320400 LD (g_viewpic_vars+4),A
178 result=FSELInit(FSEL_TYPE_DSC, FSEL_ALL_REPEATALL,FSEL_TYPE_COMMONDIR, g_viewpic_vars.location.disk);
\ 0238 4F LD C,A
\ 0239 C5 PUSH BC
\ 023A 48 LD C,B
\ 023B C5 PUSH BC
\ 023C 0E04 LD C,4
\ 023E 1E03 LD E,3
\ 0240 3E00 LD A,BYTE3 fselInit
\ 0242 210000 LD HL,LWRD fselInit
\ 0245 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0248 F1 POP AF
\ 0249 F1 POP AF
\ 024A 2600 LD H,0
\ 024C E5 PUSH HL
\ 024D DDE1 POP IX
179 need_sel_file=TRUE;
\ 024F 3E01 LD A,1
\ 0251 320000 LD (need_sel_file),A
180 if(!result)
\ 0254 7D LD A,L
\ 0255 B7 OR A
\ 0256 2022 JR NZ,?0044
\ 0258 ?0043:
181 {
182 g_viewpic_vars.location.disk = 'C';
\ 0258 3E43 LD A,67
\ 025A 320400 LD (g_viewpic_vars+4),A
183 g_DiskStateFlag=g_DiskStateFlag&ClrCardOKFlag_def;
\ 025D 210000 LD HL,g_DiskStateFlag
\ 0260 CB9E RES 3,(HL)
184 ui_show_msg (CREADERR, CREADERR, g_comval.langid); //temp ybfu
\ 0262 ED4B0C00 LD BC,(g_comval+12)
\ 0266 0600 LD B,0
\ 0268 C5 PUSH BC
\ 0269 019401 LD BC,404
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?