navi.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 963 行 · 第 1/4 页
LST
963 行
124 need_draw = TRUE;
125 direct=2;
\ 024C DD36FD01 LD (IX-3),1
\ 0250 DD36FB01 LD (IX-5),1
\ 0254 DD36FC02 LD (IX-4),2
126
127 }
128 else
\ 0258 C32F03 JP LWRD ?0030
\ 025B ?0023:
129 {
130
131 if(active_list==0)
\ 025B AF XOR A
\ 025C B0 OR B
\ 025D C20F03 JP NZ,?0032
\ 0260 ?0031:
132 {
133 need_read = TRUE;
134 active_list = NAVI_GROUP-1;
135 old_list = active_list;
136 need_draw = TRUE;
137 direct=1;
138 if((g_active_list+NAVI_GROUP)<CurTotalNum)
\ 0260 DD36FD01 LD (IX-3),1
\ 0264 DD36F805 LD (IX-8),5
\ 0268 DD36FB01 LD (IX-5),1
\ 026C DD36FC01 LD (IX-4),1
\ 0270 2A0A00 LD HL,(CurTotalNum+2)
\ 0273 E5 PUSH HL
\ 0274 2A0800 LD HL,(CurTotalNum)
\ 0277 E5 PUSH HL
\ 0278 68 LD L,B
\ 0279 60 LD H,B
\ 027A E5 PUSH HL
\ 027B 2E06 LD L,6
\ 027D E5 PUSH HL
\ 027E DD6EEE LD L,(IX-18)
\ 0281 DD66EF LD H,(IX-17)
\ 0284 C1 POP BC
\ 0285 09 ADD HL,BC
\ 0286 EB EX DE,HL
\ 0287 DD6EF0 LD L,(IX-16)
\ 028A DD66F1 LD H,(IX-15)
\ 028D C1 POP BC
\ 028E ED4A ADC HL,BC
\ 0290 4D LD C,L
\ 0291 44 LD B,H
\ 0292 EB EX DE,HL
\ 0293 CD0000 CALL LWRD ?SL_CMP_L03
\ 0296 300E JR NC,?0034
\ 0298 ?0033:
139 Navfileoffset=Navfileoffset-(NAVI_GROUP+NAVI_GROUP)*sizeof(file_info_t);
\ 0298 210400 LD HL,Navfileoffset
\ 029B 01FFFF LD BC,65535
\ 029E 1100FD LD DE,64768
\ 02A1 CD0000 CALL LWRD ?L_ADDASG_L03
140 else
\ 02A4 182C JR ?0035
\ 02A6 ?0034:
141 Navfileoffset=Navfileoffset-((CurTotalNum-g_active_list)+NAVI_GROUP)*sizeof(file_info_t);
\ 02A6 2A0800 LD HL,(CurTotalNum)
\ 02A9 DD4EEE LD C,(IX-18)
\ 02AC DD46EF LD B,(IX-17)
\ 02AF ED42 SBC HL,BC
\ 02B1 EB EX DE,HL
\ 02B2 2A0A00 LD HL,(CurTotalNum+2)
\ 02B5 DD4EF0 LD C,(IX-16)
\ 02B8 DD46F1 LD B,(IX-15)
\ 02BB ED42 SBC HL,BC
\ 02BD E5 PUSH HL
\ 02BE D5 PUSH DE
\ 02BF 210600 LD HL,6
\ 02C2 C1 POP BC
\ 02C3 09 ADD HL,BC
\ 02C4 EB EX DE,HL
\ 02C5 6F LD L,A
\ 02C6 67 LD H,A
\ 02C7 C1 POP BC
\ 02C8 CDE304 CALL LWRD ?0072
\ 02CB EB EX DE,HL
\ 02CC 210400 LD HL,Navfileoffset
\ 02CF CD0000 CALL LWRD ?L_SUBASG_L03
\ 02D2 ?0035:
142 if((g_active_list-NAVI_GROUP)==0)
\ 02D2 21FFFF LD HL,65535
\ 02D5 E5 PUSH HL
\ 02D6 21FAFF LD HL,65530
\ 02D9 E5 PUSH HL
\ 02DA DD6EEE LD L,(IX-18)
\ 02DD DD66EF LD H,(IX-17)
\ 02E0 C1 POP BC
\ 02E1 09 ADD HL,BC
\ 02E2 EB EX DE,HL
\ 02E3 DD6EF0 LD L,(IX-16)
\ 02E6 DD66F1 LD H,(IX-15)
\ 02E9 C1 POP BC
\ 02EA ED4A ADC HL,BC
\ 02EC 7B LD A,E
\ 02ED B2 OR D
\ 02EE B5 OR L
\ 02EF B4 OR H
\ 02F0 2013 JR NZ,?0037
\ 02F2 ?0036:
143 {
144 Navfileoffset=CurListoffset;
\ 02F2 ED4B0200 LD BC,(CurListoffset+2)
\ 02F6 2A0000 LD HL,(CurListoffset)
\ 02F9 220400 LD (Navfileoffset),HL
\ 02FC ED430600 LD (Navfileoffset+2),BC
145 head=0;
\ 0300 DD77F9 LD (IX-7),A
146 }
147 else
\ 0303 1804 JR ?0038
\ 0305 ?0037:
148 head = 1;
\ 0305 DD36F901 LD (IX-7),1
\ 0309 ?0038:
149 g_active_list--;
\ 0309 CDED04 CALL LWRD ?0074
150 break;
\ 030C C3B604 JP LWRD ?0061
\ 030F ?0032:
151 }
152 active_list--;
\ 030F DD35F8 DEC (IX-8)
153 g_active_list--;
\ 0312 CDED04 CALL LWRD ?0074
154 ui_Navi_list(active_list,old_list,g_active_list,1,0);
\ 0315 0E00 LD C,0
\ 0317 C5 PUSH BC
\ 0318 0E01 LD C,1
\ 031A C5 PUSH BC
\ 031B DD6EF0 LD L,(IX-16)
\ 031E 60 LD H,B
\ 031F E5 PUSH HL
\ 0320 DD6EEE LD L,(IX-18)
\ 0323 DD66EF LD H,(IX-17)
\ 0326 E5 PUSH HL
\ 0327 4F LD C,A
\ 0328 CDD804 CALL LWRD ?0071
\ 032B E1 POP HL
\ 032C E1 POP HL
\ 032D E1 POP HL
\ 032E E1 POP HL
\ 032F ?0030:
\ 032F ?0040:
155 }
156 while(ap_get_message() != 0);
\ 032F CD0000 CALL LWRD ap_get_message
\ 0332 B7 OR A
\ 0333 20FA JR NZ,?0030
\ 0335 ?0041:
157 break;
\ 0335 ?0039:
\ 0335 C3B604 JP LWRD ?0061
\ 0338 ?0042:
158
159 case AP_KEY_PLAY | AP_KEY_UP: //取消退出
160 result = RESULT_IGNORE;
161 break;
\ 0338 ?0043:
162
163 case AP_KEY_MODE | AP_KEY_UP: //确认退出
164 if(*(navi_buff+active_list*30)==1) //进入下一目录
\ 0338 48 LD C,B
\ 0339 0600 LD B,0
\ 033B 111E00 LD DE,30
\ 033E CD0000 CALL LWRD ?S_MUL_L02
\ 0341 210000 LD HL,navi_buff
\ 0344 19 ADD HL,DE
\ 0345 46 LD B,(HL)
\ 0346 05 DEC B
\ 0347 C25C04 JP NZ,?0045
\ 034A ?0044:
165 {
166 CurListoffset =0;
\ 034A 48 LD C,B
\ 034B ED430000 LD (CurListoffset),BC
\ 034F ED430200 LD (CurListoffset+2),BC
167 memcpy(&CurListoffset,(navi_buff+active_list*30+28),2);
\ 0353 03 INC BC
\ 0354 03 INC BC
\ 0355 211C00 LD HL,navi_buff+28
\ 0358 DD4EF8 LD C,(IX-8)
\ 035B 111E00 LD DE,30
\ 035E CD0000 CALL LWRD ?S_MUL_L02
\ 0361 19 ADD HL,DE
\ 0362 110000 LD DE,CurListoffset
\ 0365 0E02 LD C,2
\ 0367 EDB0 LDIR
168 CurListoffset=CurListoffset*16;
\ 0369 210000 LD HL,CurListoffset
\ 036C 3E04 LD A,4
\ 036E CD0000 CALL LWRD ?L_LSHASG_L03
169 if(g_active_list==0) //goto 上级目录
\ 0371 DD7EEE LD A,(IX-18)
\ 0374 DDB6EF OR (IX-17)
\ 0377 DDB6F0 OR (IX-16)
\ 037A DDB6F1 OR (IX-15)
\ 037D ED4B0200 LD BC,(CurListoffset+2)
\ 0381 2A0000 LD HL,(CurListoffset)
\ 0384 220400 LD (Navfileoffset),HL
\ 0387 ED430600 LD (Navfileoffset+2),BC
\ 038B C21904 JP NZ,?0047
\ 038E ?0046:
170 {
171 Navfileoffset = CurListoffset;
172 Navi_read_head(Navfileoffset,0,&DelNum);
\ 038E 210A00 LD HL,10
\ 0391 39 ADD HL,SP
\ 0392 E5 PUSH HL
\ 0393 4F LD C,A
\ 0394 C5 PUSH BC
\ 0395 CDC504 CALL LWRD ?0068
\ 0398 F1 POP AF
\ 0399 F1 POP AF
173 active_list = save_active;
174 g_active_list = save_list;
175 if(g_active_list>NAVI_GROUP-1)
\ 039A DD46FF LD B,(IX-1)
\ 039D DD70F8 LD (IX-8),B
\ 03A0 DD4EF4 LD C,(IX-12)
\ 03A3 DD46F5 LD B,(IX-11)
\ 03A6 DD6EF2 LD L,(IX-14)
\ 03A9 DD66F3 LD H,(IX-13)
\ 03AC DD75EE LD (IX-18),L
\ 03AF DD74EF LD (IX-17),H
\ 03B2 DD71F0 LD (IX-16),C
\ 03B5 DD70F1 LD (IX-15),B
\ 03B8 C5 PUSH BC
\ 03B9 E5 PUSH HL
\ 03BA 010000 LD BC,0
\ 03BD 210500 LD HL,5
\ 03C0 CD0000 CALL LWRD ?SL_CMP_L03
\ 03C3 3040 JR NC,?0049
\ 03C5 ?0048:
176 {
177 Navfileoffset = CurListoffset+(g_active_list/NAVI_GROUP)*NAVI_GROUP*sizeof(file_info_t);
\ 03C5 60 LD H,B
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?