📄 ui.lst
字号:
157 */
158 int result;
159 char old_id;
160
161 old_id = g_comval.langid;
\ 0056 3A0C00 LD A,(g_comval+12)
\ 0059 DD77FE LD (IX-2),A
162
163 list.strid = lan_text;
\ 005C 210B00 LD HL,lan_text
\ 005F 220000 LD (list),HL
164 list.total = 18;
\ 0062 211200 LD HL,18
\ 0065 220200 LD (list+2),HL
165 list.active = g_comval.langid;
\ 0068 ED4B0C00 LD BC,(g_comval+12)
\ 006C 0600 LD B,0
\ 006E ED430400 LD (list+4),BC
166 list.string_id = g_comval.langid;
\ 0072 3A0C00 LD A,(g_comval+12)
\ 0075 320800 LD (list+8),A
167 list.headid = main_text[main_list.active];
\ 0078 2A0400 LD HL,(main_list+4)
\ 007B 29 ADD HL,HL
\ 007C 010000 LD BC,main_text
\ 007F 09 ADD HL,BC
\ 0080 46 LD B,(HL)
\ 0081 23 INC HL
\ 0082 66 LD H,(HL)
\ 0083 68 LD L,B
\ 0084 220600 LD (list+6),HL
168
169 result = ui_popup_list(&list, NULL);
\ 0087 0E00 LD C,0
\ 0089 C5 PUSH BC
\ 008A 210000 LD HL,0
\ 008D E5 PUSH HL
\ 008E 110000 LD DE,list
\ 0091 3E00 LD A,BYTE3 ui_popup_list
\ 0093 210000 LD HL,LWRD ui_popup_list
\ 0096 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0099 F1 POP AF
\ 009A F1 POP AF
\ 009B E5 PUSH HL
\ 009C FDE1 POP IY
170 if(result == RESULT_IGNORE) return 0;
\ 009E 3E34 LD A,52
\ 00A0 AD XOR L
\ 00A1 B4 OR H
\ 00A2 2006 JR NZ,?0009
\ 00A4 ?0008:
\ 00A4 210000 LD HL,0
\ 00A7 C3A101 JP LWRD ?0107
\ 00AA ?0009:
171
172 g_comval.langid = (BYTE)list.active;
\ 00AA 3A0400 LD A,(list+4)
\ 00AD 320C00 LD (g_comval+12),A
173 ASSERT(g_comval.langid < 18);
174
175 //check if need install new driver
176 if(g_comval.langid != old_id)
\ 00B0 3A0C00 LD A,(g_comval+12)
\ 00B3 DDBEFE CP (IX-2)
\ 00B6 CA9E01 JP Z,?0103
\ 00B9 ?0010:
177 {
178 //卸载旧的驱动
179 if(!DRV_UnInstall(DRV_UI)) while(1) {;}
\ 00B9 1E03 LD E,3
\ 00BB CD0000 CALL LWRD DRV_UnInstall
\ 00BE B7 OR A
\ 00BF 2002 JR NZ,?0013
\ 00C1 ?0012:
\ 00C1 ?0015:
\ 00C1 18FE JR ?0012
\ 00C3 ?0013:
180
181 //安装驱动
182 if(g_comval.langid == 0) //简体
\ 00C3 3A0C00 LD A,(g_comval+12)
\ 00C6 B7 OR A
\ 00C7 200F JR NZ,?0018
\ 00C9 ?0017:
183 {
184 if(!DRV_Install("UI_6B33S.DRV",1)) while(1) {;}
\ 00C9 010100 LD BC,1
\ 00CC 110000 LD DE,?0021
\ 00CF CD0000 CALL LWRD DRV_Install
\ 00D2 B7 OR A
\ 00D3 C29E01 JP NZ,?0103
\ 00D6 ?0019:
\ 00D6 ?0023:
185 }
\ 00D6 18FE JR ?0019
\ 00D8 ?0020:
\ 00D8 ?0018:
186 else if(g_comval.langid == 13) //俄文
\ 00D8 3A0C00 LD A,(g_comval+12)
\ 00DB FE0D CP 13
\ 00DD 200F JR NZ,?0027
\ 00DF ?0026:
187 {
188 if(!DRV_Install("UI_6B33R.DRV",1)) while(1) {;}
\ 00DF 010100 LD BC,1
\ 00E2 110D00 LD DE,?0030
\ 00E5 CD0000 CALL LWRD DRV_Install
\ 00E8 B7 OR A
\ 00E9 C29E01 JP NZ,?0103
\ 00EC ?0028:
\ 00EC ?0032:
189 }
\ 00EC 18FE JR ?0028
\ 00EE ?0029:
\ 00EE ?0027:
190 else if(g_comval.langid == 14) //泰文
\ 00EE 3A0C00 LD A,(g_comval+12)
\ 00F1 FE0E CP 14
\ 00F3 200F JR NZ,?0036
\ 00F5 ?0035:
191 {
192 if(!DRV_Install("UI_6B33H.DRV",1)) while(1) {;}
\ 00F5 010100 LD BC,1
\ 00F8 111A00 LD DE,?0039
\ 00FB CD0000 CALL LWRD DRV_Install
\ 00FE B7 OR A
\ 00FF C29E01 JP NZ,?0103
\ 0102 ?0037:
\ 0102 ?0041:
193 }
\ 0102 18FE JR ?0037
\ 0104 ?0038:
\ 0104 ?0036:
194 else if(g_comval.langid == 15) //希伯来文
\ 0104 3A0C00 LD A,(g_comval+12)
\ 0107 FE0F CP 15
\ 0109 200F JR NZ,?0045
\ 010B ?0044:
195 {
196 if(!DRV_Install("UI_6B33X.DRV",1)) while(1) {;}
\ 010B 010100 LD BC,1
\ 010E 112700 LD DE,?0048
\ 0111 CD0000 CALL LWRD DRV_Install
\ 0114 B7 OR A
\ 0115 C29E01 JP NZ,?0103
\ 0118 ?0046:
\ 0118 ?0050:
197 }
\ 0118 18FE JR ?0046
\ 011A ?0047:
\ 011A ?0045:
198 else if((g_comval.langid == 16)||(g_comval.langid == 17)) //捷克,波兰
\ 011A 3A0C00 LD A,(g_comval+12)
\ 011D FE10 CP 16
\ 011F 2807 JR Z,?0055
\ 0121 3A0C00 LD A,(g_comval+12)
\ 0124 FE11 CP 17
\ 0126 200E JR NZ,?0054
\ 0128 ?0055:
\ 0128 ?0056:
\ 0128 ?0053:
199 {
200 if(!DRV_Install("UI_6B33B.DRV",1)) while(1) {;}
\ 0128 010100 LD BC,1
\ 012B 113400 LD DE,?0059
\ 012E CD0000 CALL LWRD DRV_Install
\ 0131 B7 OR A
\ 0132 206A JR NZ,?0103
\ 0134 ?0057:
\ 0134 ?0061:
201 }
\ 0134 18FE JR ?0057
\ 0136 ?0058:
\ 0136 ?0054:
202 else if((g_comval.langid == 1)||(g_comval.langid>=5)) // 英文和拉丁
\ 0136 3A0C00 LD A,(g_comval+12)
\ 0139 3D DEC A
\ 013A 2807 JR Z,?0066
\ 013C 3A0C00 LD A,(g_comval+12)
\ 013F FE05 CP 5
\ 0141 380E JR C,?0065
\ 0143 ?0066:
\ 0143 ?0067:
\ 0143 ?0064:
203 {
204 if(!DRV_Install("UI_6B33L.DRV",1)) while(1) {;}
\ 0143 010100 LD BC,1
\ 0146 114100 LD DE,?0070
\ 0149 CD0000 CALL LWRD DRV_Install
\ 014C B7 OR A
\ 014D 204F JR NZ,?0103
\ 014F ?0068:
\ 014F ?0072:
205 }
\ 014F 18FE JR ?0068
\ 0151 ?0069:
\ 0151 ?0065:
206 else if(g_comval.langid == 2) //繁体
\ 0151 3A0C00 LD A,(g_comval+12)
\ 0154 3D DEC A
\ 0155 3D DEC A
\ 0156 200E JR NZ,?0076
\ 0158 ?0075:
207 {
208 if(!DRV_Install("UI_6B33T.DRV",1)) while(1) {;}
\ 0158 010100 LD BC,1
\ 015B 114E00 LD DE,?0079
\ 015E CD0000 CALL LWRD DRV_Install
\ 0161 B7 OR A
\ 0162 203A JR NZ,?0103
\ 0164 ?0077:
\ 0164 ?0081:
209 }
\ 0164 18FE JR ?0077
\ 0166 ?0078:
\ 0166 ?0076:
210 else if(g_comval.langid == 3) //日文
\ 0166 3A0C00 LD A,(g_comval+12)
\ 0169 FE03 CP 3
\ 016B 200E JR NZ,?0085
\ 016D ?0084:
211 {
212 if(!DRV_Install("UI_6B33J.DRV",1)) while(1) {;}
\ 016D 010100 LD BC,1
\ 0170 115B00 LD DE,?0088
\ 0173 CD0000 CALL LWRD DRV_Install
\ 0176 B7 OR A
\ 0177 2025 JR NZ,?0103
\ 0179 ?0086:
\ 0179 ?0090:
213 }
\ 0179 18FE JR ?0086
\ 017B ?0087:
\ 017B ?0085:
214 else if(g_comval.langid == 4) //韩文
\ 017B 3A0C00 LD A,(g_comval+12)
\ 017E FE04 CP 4
\ 0180 200E JR NZ,?0094
\ 0182 ?0093:
215 {
216 if(!DRV_Install("UI_6B33K.DRV",1)) while(1) {;}
\ 0182 010100 LD BC,1
\ 0185 116800 LD DE,?0097
\ 0188 CD0000 CALL LWRD DRV_Install
\ 018B B7 OR A
\ 018C 2010 JR NZ,?0103
\ 018E ?0095:
\ 018E ?0099:
217 }
\ 018E 18FE JR ?0095
\ 0190 ?0096:
218 else //其他
\ 0190 ?0094:
219 {
220 if(!DRV_Install("UI_6B33S.DRV",1)) while(1) {;}
\ 0190 010100 LD BC,1
\ 0193 110000 LD DE,?0021
\ 0196 CD0000 CALL LWRD DRV_Install
\ 0199 B7 OR A
\ 019A 2002 JR NZ,?0103
\ 019C ?0102:
\ 019C ?0105:
221 }
\ 019C 18FE JR ?0102
\ 019E ?0103:
\ 019E ?0101:
\ 019E ?0092:
\ 019E ?0083:
\ 019E ?0074:
\ 019E ?0063:
\ 019E ?0052:
\ 019E ?0043:
\ 019E ?0034:
\ 019E ?0025:
\ 019E ?0011:
222 }
223 return result;
\ 019E FDE5 PUSH IY
\ 01A0 E1 POP HL
224 }
\ 01A1 ?0107:
\ 01A1 DDF9 LD SP,IX
\ 01A3 DDE1 POP IX
\ 01A5 FDE1 POP IY
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -