📄 decodermenu.lst
字号:
\ 027A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 027D F1 POP AF
177 break;
\ 027E C3B803 JP LWRD ?0033
\ 0281 ?0041:
178 }
179 g_DiskStateFlag=g_DiskStateFlag|SetCardOKFlag_def;
\ 0281 210000 LD HL,g_DiskStateFlag
\ 0284 CBDE SET 3,(HL)
180 fselGetLocation(& g_reader_vars.location);
\ 0286 CDC503 CALL LWRD ?0087
\ 0289 ?0039:
181
182 }
183 BankSwitch((unsigned long)DecodeOnePage >> 16);
\ 0289 0600 LD B,0
\ 028B 1E00 LD E,BYTE3 DecodeOnePage
\ 028D CD0000 CALL LWRD BankSwitch
184 result=ui_directory(&g_reader_vars.location, FSEL_TYPE_TXT, g_comval.langid);
\ 0290 210C00 LD HL,g_comval+12
\ 0293 4E LD C,(HL)
\ 0294 C5 PUSH BC
\ 0295 CDD003 CALL LWRD ?0088
\ 0298 F1 POP AF
185 FSELSetMode(FSEL_ALL_SEQUENCE);
\ 0299 CDDD03 CALL LWRD ?0089
186 g_reader_vars.g_txt.PrevSeek=0;
\ 029C 010000 LD BC,0
\ 029F 69 LD L,C
\ 02A0 60 LD H,B
\ 02A1 223700 LD (g_reader_vars+55),HL
\ 02A4 ED433900 LD (g_reader_vars+57),BC
187 g_reader_vars.g_txt.CurrentSeek=0;
\ 02A8 223B00 LD (g_reader_vars+59),HL
\ 02AB ED433D00 LD (g_reader_vars+61),BC
188 g_reader_vars.g_txt.BufSector=0;
\ 02AF 223F00 LD (g_reader_vars+63),HL
189 BankSwitch((unsigned long)LoadData >> 16);
\ 02B2 1E00 LD E,BYTE3 LoadData
\ 02B4 CD0000 CALL LWRD BankSwitch
190
191 g_menu_active = FALSE;
\ 02B7 ?0074:
\ 02B7 AF XOR A
\ 02B8 320000 LD (g_menu_active),A
192 break;
\ 02BB C3B803 JP LWRD ?0033
\ 02BE ?0042:
193
194 case 2:
195 sub_list.strid = play_text;
\ 02BE 211600 LD HL,play_text
\ 02C1 220900 LD (sub_list),HL
196 sub_list.total = 2;
\ 02C4 210200 LD HL,2
\ 02C7 220B00 LD (sub_list+2),HL
197 sub_list.active = g_reader_vars.playflag;
\ 02CA ED4B0200 LD BC,(g_reader_vars+2)
\ 02CE 44 LD B,H
\ 02CF ED430D00 LD (sub_list+4),BC
198 sub_list.string_id = g_comval.langid;
\ 02D3 3A0C00 LD A,(g_comval+12)
\ 02D6 321100 LD (sub_list+8),A
199 sub_list.headid = MenuStrIDWithCard[sub_list.active];
\ 02D9 69 LD L,C
\ 02DA 60 LD H,B
\ 02DB 29 ADD HL,HL
\ 02DC 010A00 LD BC,MenuStrIDWithCard
\ 02DF 09 ADD HL,BC
\ 02E0 46 LD B,(HL)
\ 02E1 23 INC HL
\ 02E2 66 LD H,(HL)
\ 02E3 68 LD L,B
\ 02E4 220F00 LD (sub_list+6),HL
200 result = ui_popup_list(&sub_list, NULL);
\ 02E7 0E00 LD C,0
\ 02E9 C5 PUSH BC
\ 02EA 69 LD L,C
\ 02EB 61 LD H,C
\ 02EC E5 PUSH HL
\ 02ED 110900 LD DE,sub_list
\ 02F0 3E00 LD A,BYTE3 ui_popup_list
\ 02F2 210000 LD HL,LWRD ui_popup_list
\ 02F5 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02F8 F1 POP AF
\ 02F9 F1 POP AF
\ 02FA E5 PUSH HL
\ 02FB DDE1 POP IX
201 if(result!=0) return result;
\ 02FD 7D LD A,L
\ 02FE B4 OR H
\ 02FF C2B803 JP NZ,?0033
\ 0302 ?0043:
\ 0302 ?0044:
202 active=sub_list.active;
\ 0302 2A0D00 LD HL,(sub_list+4)
203 g_reader_vars.playflag=active;
\ 0305 7D LD A,L
\ 0306 320200 LD (g_reader_vars+2),A
204 if(active==1)
\ 0309 3E01 LD A,1
\ 030B AD XOR L
\ 030C B4 OR H
\ 030D 2042 JR NZ,?0046
\ 030F ?0045:
205 {
206 slider.min = 1;
\ 030F 210100 LD HL,1
\ 0312 221400 LD (slider+2),HL
207 slider.max = 10;
\ 0315 2E0A LD L,10
\ 0317 221600 LD (slider+4),HL
208 slider.step = 1;
\ 031A 2E01 LD L,1
\ 031C 221A00 LD (slider+8),HL
209 slider.value = g_reader_vars.autoplaytime;
\ 031F ED4B0300 LD BC,(g_reader_vars+3)
\ 0323 44 LD B,H
\ 0324 ED431800 LD (slider+6),BC
210 slider.title = JPEGSET2;
\ 0328 214D02 LD HL,589
\ 032B 221200 LD (slider),HL
211 slider.string_id=g_comval.langid;
\ 032E 3A0C00 LD A,(g_comval+12)
\ 0331 321C00 LD (slider+10),A
212 result = ui_slider(&slider, NULL);
\ 0334 48 LD C,B
\ 0335 C5 PUSH BC
\ 0336 C5 PUSH BC
\ 0337 111200 LD DE,slider
\ 033A 3E00 LD A,BYTE3 ui_slider
\ 033C 210000 LD HL,LWRD ui_slider
\ 033F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0342 F1 POP AF
\ 0343 F1 POP AF
\ 0344 E5 PUSH HL
\ 0345 DDE1 POP IX
213 if(result != 0) return result;
\ 0347 7D LD A,L
\ 0348 B4 OR H
\ 0349 206D JR NZ,?0033
\ 034B ?0047:
\ 034B ?0048:
214 g_reader_vars.autoplaytime = (char)slider.value;
\ 034B 3A1800 LD A,(slider+6)
\ 034E 320300 LD (g_reader_vars+3),A
\ 0351 ?0046:
215 }
216 return RESULT_IGNORE;
\ 0351 213400 LD HL,52
217
218 case 3:
\ 0354 1865 JR ?0056
\ 0356 ?0049:
219 result=ui_delete(&g_reader_vars.location,DELETE_FILE,g_comval.langid);
\ 0356 210C00 LD HL,g_comval+12
\ 0359 4E LD C,(HL)
\ 035A C5 PUSH BC
\ 035B 48 LD C,B
\ 035C 110600 LD DE,g_reader_vars+6
\ 035F 3E00 LD A,BYTE3 ui_delete
\ 0361 210000 LD HL,LWRD ui_delete
\ 0364 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0367 F1 POP AF
\ 0368 E5 PUSH HL
\ 0369 DDE1 POP IX
220 if(result==RESULT_IGNORE)
\ 036B 3E34 LD A,52
\ 036D AD XOR L
\ 036E B4 OR H
\ 036F 2004 JR NZ,?0051
\ 0371 ?0050:
221 result=0;
\ 0371 ?0085:
\ 0371 DD210000 LD IX,0
\ 0375 ?0051:
222 g_reader_vars.g_txt.PrevSeek=0;
\ 0375 010000 LD BC,0
\ 0378 69 LD L,C
\ 0379 60 LD H,B
\ 037A 223700 LD (g_reader_vars+55),HL
\ 037D ED433900 LD (g_reader_vars+57),BC
223 g_reader_vars.g_txt.CurrentSeek=0;
\ 0381 223B00 LD (g_reader_vars+59),HL
\ 0384 ED433D00 LD (g_reader_vars+61),BC
224 g_reader_vars.g_txt.BufSector=0;
\ 0388 223F00 LD (g_reader_vars+63),HL
225 break;
\ 038B 182B JR ?0033
\ 038D ?0052:
226
227 case 4:
228 FSELSetMode(FSEL_ALL_REPEATALL);
\ 038D 1E04 LD E,4
\ 038F CDE203 CALL LWRD ?0090
229 result = ui_delete_all(&g_reader_vars.location, DELETE_TXT, g_comval.langid);
\ 0392 210C00 LD HL,g_comval+12
\ 0395 4E LD C,(HL)
\ 0396 C5 PUSH BC
\ 0397 0E04 LD C,4
\ 0399 110600 LD DE,g_reader_vars+6
\ 039C 3E00 LD A,BYTE3 ui_delete_all
\ 039E 210000 LD HL,LWRD ui_delete_all
\ 03A1 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03A4 F1 POP AF
\ 03A5 E5 PUSH HL
\ 03A6 DDE1 POP IX
230 if(result==RESULT_IGNORE)result=0;
\ 03A8 3E34 LD A,52
\ 03AA AD XOR L
\ 03AB B4 OR H
\ 03AC 200A JR NZ,?0033
\ 03AE ?0053:
\ 03AE ?0084:
\ 03AE DD210000 LD IX,0
\ 03B2 ?0054:
231 break;
\ 03B2 1804 JR ?0033
\ 03B4 ?0055:
232
233 default:
234 result = RESULT_IGNORE;
\ 03B4 DD213400 LD IX,52
235 break;
\ 03B8 ?0033:
236 }
237
238 return result;
\ 03B8 DDE5 PUSH IX
\ 03BA E1 POP HL
239
240 }
\ 03BB ?0056:
\ 03BB F1 POP AF
\ 03BC DDE1 POP IX
\ 03BE FDE1 POP IY
\ 03C0 D1 POP DE
\ 03C1 C1 POP BC
\ 03C2 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 03C5 ?0087:
\ 03C5 110600 LD DE,g_reader_vars+6
\ 03C8 3E00 LD A,BYTE3 fselGetLocation
\ 03CA 210000 LD HL,LWRD fselGetLocation
\ 03CD C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 03D0 ?0088:
\ 03D0 0E04 LD C,4
\ 03D2 110600 LD DE,g_reader_vars+6
\ 03D5 3E00 LD A,BYTE3 ui_directory
\ 03D7 210000 LD HL,LWRD ui_directory
\ 03DA C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 03DD ?0089:
\ 03DD E5 PUSH HL
\ 03DE DDE1 POP IX
\ 03E0 1E00 LD E,0
\ 03E2 ?0090:
\ 03E2 3E00 LD A,BYTE3 fselSetMode
\ 03E4 210000 LD HL,LWRD fselSetMode
\ 03E7 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
241
242 }
\ 0000 RSEG CONST
\ 0000 MenuStrID:
\ 0000 CD01 DEFW 461
\ 0002 4B02 DEFW 587
\ 0004 CF01 DEFW 463
\ 0006 D001 DEFW 464
\ 0008 D101 DEFW 465
\ 000A MenuStrIDWithCard:
\ 000A CD01 DEFW 461
\ 000C CE01 DEFW 462
\ 000E 4B02 DEFW 587
\ 0010 CF01 DEFW 463
\ 0012 D001 DEFW 464
\ 0014 D101 DEFW 465
\ 0016 play_text:
\ 0016 4C02 DEFW 588
\ 0018 4D02 DEFW 589
\ 0000 RSEG UDATA0
\ 0000 list:
\ 0009 DEFS 9
\ 0009 sub_list:
\ 0012 DEFS 9
\ 0012 slider:
\ 001D DEFS 11
\ 001D END
Errors: none
Warnings: none
Code size: 1002
Constant size: 26
Static variable size: Data(29) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -