📄 ui_directory.lst
字号:
96 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 00DA DD6EEA LD L,(IX-22)
\ 00DD E5 PUSH HL
\ 00DE DD6E08 LD L,(IX+8)
\ 00E1 E5 PUSH HL
\ 00E2 3A0000 LD A,(list_active)
\ 00E5 4F LD C,A
\ 00E6 C5 PUSH BC
\ 00E7 4F LD C,A
\ 00E8 C5 PUSH BC
\ 00E9 CD2B04 CALL LWRD ?0123
\ 00EC E1 POP HL
\ 00ED E1 POP HL
\ 00EE E1 POP HL
\ 00EF E1 POP HL
\ 00F0 ?0022:
97
98 while(ap_get_message()!=0) {;}
\ 00F0 CD0000 CALL LWRD ap_get_message
\ 00F3 B7 OR A
\ 00F4 20FA JR NZ,?0022
\ 00F6 ?0023:
\ 00F6 ?0021:
99
100 ap_message_init(NULL);
\ 00F6 5F LD E,A
\ 00F7 57 LD D,A
\ 00F8 3E00 LD A,BYTE3 ap_message_init
\ 00FA 210000 LD HL,LWRD ap_message_init
\ 00FD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0100 ?0025:
101
102 while(1)
103 {
104 //handle msg
105 key = ap_get_message();
\ 0100 CD0000 CALL LWRD ap_get_message
106 switch(key)
\ 0103 5F LD E,A
\ 0104 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0107 0A00 DEFW 10
\ 0109 05 DEFB 5
\ 010A 06 DEFB 6
\ 010B 1E DEFB 30
\ 010C 21 DEFB 33
\ 010D 30 DEFB 48
\ 010E 37 DEFB 55
\ 010F 38 DEFB 56
\ 0110 45 DEFB 69
\ 0111 46 DEFB 70
\ 0112 90 DEFB 144
\ 0113 FA03 DEFW ?0101
\ 0115 4702 DEFW ?0057
\ 0117 2901 DEFW ?0028
\ 0119 C201 DEFW ?0042
\ 011B 0001 DEFW ?0025
\ 011D E903 DEFW ?0097
\ 011F B802 DEFW ?0075
\ 0121 D603 DEFW ?0096
\ 0123 D603 DEFW ?0096
\ 0125 2901 DEFW ?0028
\ 0127 C201 DEFW ?0042
\ 0129 ?0028:
107 {
108
109 case AP_KEY_NEXT:
110 case AP_KEY_NEXT | AP_KEY_HOLD:
111 if(list_active < list_total_num - 1)
\ 0129 21FFFF LD HL,65535
\ 012C ED4B0000 LD BC,(list_total_num)
\ 0130 09 ADD HL,BC
\ 0131 4D LD C,L
\ 0132 44 LD B,H
\ 0133 2A0000 LD HL,(list_active)
\ 0136 A7 AND A
\ 0137 ED42 SBC HL,BC
\ 0139 3031 JR NC,?0030
\ 013B ?0029:
112 {
113 list_active++;
\ 013B 2A0000 LD HL,(list_active)
\ 013E 23 INC HL
\ 013F 220000 LD (list_active),HL
114 if(list_active/GroupDefine==cur_group)
\ 0142 010600 LD BC,6
\ 0145 EB EX DE,HL
\ 0146 CD0000 CALL LWRD ?US_DIV_L02
\ 0149 2A0000 LD HL,(cur_group)
\ 014C A7 AND A
\ 014D ED52 SBC HL,DE
\ 014F 2011 JR NZ,?0032
\ 0151 ?0031:
115 {
116 ShowDirectory(top,bottom,list_active-1,list_active,string_id,DiskFlag); //zxs change
\ 0151 DD6EEA LD L,(IX-22)
\ 0154 E5 PUSH HL
\ 0155 DD6E08 LD L,(IX+8)
\ 0158 E5 PUSH HL
\ 0159 3A0000 LD A,(list_active)
\ 015C 4F LD C,A
\ 015D C5 PUSH BC
\ 015E C6FF ADD A,255
\ 0160 184E JR ?0111
117 }
118 else
\ 0162 ?0032:
119 {
120 cur_group=cur_group+1;
\ 0162 210100 LD HL,1
121
122 top=(list_active/GroupDefine)*GroupDefine; //顶的序号
\ 0165 CD3A04 CALL LWRD ?0124
123 bottom=top+GroupDefine-1; //底的序号
124 if(bottom>(list_total_num-1))
\ 0168 302C JR NC,?0038
\ 016A ?0034:
125 bottom=list_total_num-1;
\ 016A 181F JR ?0119
\ 016C ?0035:
126
127 DecodeOnePage(top,bottom,type,string_id);
128 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 016C ?0033:
129 }
130 }
131 else
\ 016C ?0030:
132 {
133 list_active = 0;
\ 016C 210000 LD HL,0
\ 016F 220000 LD (list_active),HL
134 cur_group=0;
\ 0172 220000 LD (cur_group),HL
135 top=0; //顶的序号
136 bottom=top+GroupDefine-1; //底的序号
\ 0175 FD210500 LD IY,5
137 if(bottom>(list_total_num-1))
\ 0179 AF XOR A
\ 017A DD77E8 LD (IX-24),A
\ 017D DD77E9 LD (IX-23),A
\ 0180 2B DEC HL
\ 0181 03 INC BC
\ 0182 09 ADD HL,BC
\ 0183 FDE5 PUSH IY
\ 0185 C1 POP BC
\ 0186 A7 AND A
\ 0187 ED42 SBC HL,BC
\ 0189 300B JR NC,?0038
\ 018B ?0037:
138 bottom=list_total_num-1;
\ 018B ?0119:
\ 018B 21FFFF LD HL,65535
\ 018E ED4B0000 LD BC,(list_total_num)
\ 0192 09 ADD HL,BC
\ 0193 E5 PUSH HL
\ 0194 FDE1 POP IY
\ 0196 ?0038:
139 DecodeOnePage(top,bottom,type,string_id);
\ 0196 DD6E08 LD L,(IX+8)
\ 0199 E5 PUSH HL
\ 019A DD6EFE LD L,(IX-2)
\ 019D E5 PUSH HL
\ 019E CD1A04 CALL LWRD ?0122
\ 01A1 E1 POP HL
\ 01A2 E1 POP HL
140 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 01A3 DD6EEA LD L,(IX-22)
\ 01A6 E5 PUSH HL
\ 01A7 DD6E08 LD L,(IX+8)
\ 01AA E5 PUSH HL
\ 01AB 3A0000 LD A,(list_active)
\ 01AE 4F LD C,A
\ 01AF C5 PUSH BC
\ 01B0 ?0111:
\ 01B0 4F LD C,A
\ 01B1 C5 PUSH BC
\ 01B2 CD2B04 CALL LWRD ?0123
\ 01B5 E1 POP HL
\ 01B6 E1 POP HL
\ 01B7 E1 POP HL
\ 01B8 E1 POP HL
\ 01B9 ?0036:
\ 01B9 ?0040:
141 }
142 while(ap_get_message() != 0);
\ 01B9 CD0000 CALL LWRD ap_get_message
\ 01BC B7 OR A
\ 01BD CA0001 JP Z,?0025
\ 01C0 ?0041:
143
144
145 break;
\ 01C0 18F7 JR ?0036
\ 01C2 ?0039:
\ 01C2 ?0042:
146
147 case AP_KEY_PREV:
148 case AP_KEY_PREV | AP_KEY_HOLD :
149 if(list_active >0)
\ 01C2 2A0000 LD HL,(list_active)
\ 01C5 7D LD A,L
\ 01C6 B4 OR H
\ 01C7 282C JR Z,?0044
\ 01C9 ?0043:
150 {
151 list_active--;
\ 01C9 2B DEC HL
\ 01CA 220000 LD (list_active),HL
152 if(list_active/GroupDefine==cur_group)
\ 01CD 010600 LD BC,6
\ 01D0 EB EX DE,HL
\ 01D1 CD0000 CALL LWRD ?US_DIV_L02
\ 01D4 2A0000 LD HL,(cur_group)
\ 01D7 ED52 SBC HL,DE
\ 01D9 2010 JR NZ,?0046
\ 01DB ?0045:
153 {
154 ShowDirectory(top,bottom,list_active+1,list_active,string_id,DiskFlag);
\ 01DB DD6EEA LD L,(IX-22)
\ 01DE E5 PUSH HL
\ 01DF DD6E08 LD L,(IX+8)
\ 01E2 E5 PUSH HL
\ 01E3 3A0000 LD A,(list_active)
\ 01E6 4F LD C,A
\ 01E7 C5 PUSH BC
\ 01E8 3C INC A
\ 01E9 184A JR ?0112
155 }
156 else
\ 01EB ?0046:
157 {
158 cur_group=cur_group-1;
\ 01EB 21FFFF LD HL,65535
159
160 top=(list_active/GroupDefine)*GroupDefine; //顶的序号
\ 01EE CD3A04 CALL LWRD ?0124
161 bottom=top+GroupDefine-1; //底的序号
162 if(bottom>(list_total_num-1))
\ 01F1 3028 JR NC,?0052
\ 01F3 ?0048:
163 bottom=list_total_num-1;
\ 01F3 181B JR ?0120
\ 01F5 ?0049:
164
165 DecodeOnePage(top,bottom,type,string_id);
166 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 01F5 ?0047:
167 }
168 }
169 else
\ 01F5 ?0044:
170 {
171 list_active= list_total_num - 1;
\ 01F5 21FFFF LD HL,65535
\ 01F8 ED4B0000 LD BC,(list_total_num)
\ 01FC 09 ADD HL,BC
\ 01FD 220000 LD (list_active),HL
172 cur_group=(list_total_num - 1)/GroupDefine;
\ 0200 010600 LD BC,6
\ 0203 CD6E04 CALL LWRD ?0125
173 top=(list_active/GroupDefine)*GroupDefine; //顶的序号
174 bottom=top+GroupDefine-1; //底的序号
175 if(bottom>(list_total_num-1))
\ 0206 4D LD C,L
\ 0207 44 LD B,H
\ 0208 2A0000 LD HL,(list_active)
\ 020B A7 AND A
\ 020C ED42 SBC HL,BC
\ 020E 300B JR NC,?0052
\ 0210 ?0051:
176 bottom=list_total_num-1;
\ 0210 ?0120:
\ 0210 21FFFF LD HL,65535
\ 0213 ED4B0000 LD BC,(list_total_num)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -