ui_stop.lst
来自「MP3 整个 SDK」· LST 代码 · 共 1,232 行 · 第 1/4 页
LST
1,232 行
\ 00EE 2D DEC L
\ 00EF 2009 JR NZ,?0020
\ 00F1 ?0018:
\ 00F1 1807 JR ?0020
\ 00F3 ?0019:
96 //else ASSERT(FALSE);
97 }
98 else //normal prev file
\ 00F3 ?0017:
99 {
100 mc_result = fselGetLocation(&g_viewpic_vars.location);
\ 00F3 CDBE00 CALL LWRD ?0118
101 //ASSERT(mc_result);
102 return TRUE;
\ 00F6 2E01 LD L,1
103 }
\ 00F8 1801 JR ?0021
\ 00FA ?0020:
104 return FALSE;
\ 00FA 68 LD L,B
105
106 }
\ 00FB ?0021:
\ 00FB F1 POP AF
\ 00FC F1 POP AF
\ 00FD C1 POP BC
\ 00FE C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0101 show_stop:
107
108
109
110 /****************************************
111 *Function Name:show_stop
112 *
113 *****************************************/
114
115 int show_stop(void)
116 {
\ 0101 C5 PUSH BC
\ 0102 D5 PUSH DE
\ 0103 FDE5 PUSH IY
\ 0105 DDE5 PUSH IX
\ 0107 DD210000 LD IX,0
\ 010B DD39 ADD IX,SP
\ 010D 21EEFF LD HL,65518
\ 0110 39 ADD HL,SP
\ 0111 F9 LD SP,HL
117 bool need_draw=FALSE;
118 BOOL mc_result;
119 unsigned char err_id;
120 int key;
121 int result;
122 int top, bottom, old_active, tmp, i, cur_group;
123 BOOL file_changed=TRUE; //文件改变
124 bool list_change;
125 g_menu_active=TRUE;
\ 0112 3E01 LD A,1
\ 0114 320000 LD (g_menu_active),A
126 output8(0x4e,input8(0x4e)|0x8);
\ 0117 DB4E IN A,(78)
\ 0119 CBDF SET 3,A
\ 011B D34E OUT (78),A
127 mc_result = fselInit(FSEL_TYPE_DSC, FSEL_ALL_REPEATALL, 0,'C'); // init the file selector
\ 011D 0E43 LD C,67
\ 011F C5 PUSH BC
\ 0120 0E00 LD C,0
\ 0122 C5 PUSH BC
\ 0123 0E04 LD C,4
\ 0125 1E03 LD E,3
\ 0127 3E00 LD A,BYTE3 fselInit
\ 0129 210000 LD HL,LWRD fselInit
\ 012C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 012F F1 POP AF
\ 0130 F1 POP AF
128
129
130 #ifdef DEBUG
131 test=(BYTE)mc_result;
132 #endif
133 need_sel_file = TRUE;
\ 0131 3E01 LD A,1
\ 0133 320400 LD (need_sel_file),A
134 list_change = FALSE;
\ 0136 DD36EE00 LD (IX-18),0
\ 013A DD77EF LD (IX-17),A
\ 013D DD36F000 LD (IX-16),0
\ 0141 ?0023:
135 while(1)
136 {
137 if(need_sel_file)
\ 0141 3A0400 LD A,(need_sel_file)
\ 0144 B7 OR A
\ 0145 281D JR Z,?0026
\ 0147 ?0025:
138 { // 设置路径,初始化驱动器
139 if (UpdateFileSelector() == 0)
\ 0147 3E00 LD A,BYTE3 UpdateFileSelector
\ 0149 210000 LD HL,LWRD UpdateFileSelector
\ 014C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 014F 7D LD A,L
\ 0150 B4 OR H
\ 0151 2005 JR NZ,?0028
\ 0153 ?0027:
140 {
141 return 0;
\ 0153 6F LD L,A
\ 0154 67 LD H,A
142 }
\ 0155 C3FD04 JP LWRD ?0098
\ 0158 ?0028:
143
144 need_sel_file = FALSE;
\ 0158 AF XOR A
\ 0159 320400 LD (need_sel_file),A
145 file_changed = TRUE;
146 need_draw = TRUE;
\ 015C DD36EF01 LD (IX-17),1
\ 0160 DD36EE01 LD (IX-18),1
\ 0164 ?0026:
147 }
148 if(file_changed)
\ 0164 DDB6EF OR (IX-17)
\ 0167 2854 JR Z,?0030
\ 0169 ?0029:
149 {
150 SetTextOutMode(1);
\ 0169 1E01 LD E,1
\ 016B CD0000 CALL LWRD SetTextOutMode
151
152 //获得序号
153 active = fselGetNo();
\ 016E 3E00 LD A,BYTE3 fselGetNo
\ 0170 210000 LD HL,LWRD fselGetNo
\ 0173 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0176 220000 LD (active),HL
154 if(active > 0)
\ 0179 4D LD C,L
\ 017A 44 LD B,H
\ 017B 210000 LD HL,0
\ 017E F680 OR 128
\ 0180 ED42 SBC HL,BC
\ 0182 E28601 JP PO,?0106
\ 0185 AC XOR H
\ 0186 ?0106:
\ 0186 F28F01 JP P,?0032
\ 0189 ?0031:
155 active--;
\ 0189 69 LD L,C
\ 018A 60 LD H,B
\ 018B 2B DEC HL
\ 018C 220000 LD (active),HL
\ 018F ?0032:
156 g_file_total = fselGetTotal();
\ 018F 3E00 LD A,BYTE3 fselGetTotal
\ 0191 210000 LD HL,LWRD fselGetTotal
\ 0194 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0197 220200 LD (g_file_total),HL
\ 019A ?0034:
157 while(ap_get_message()!= AP_KEY_NULL) {;}
\ 019A CD0000 CALL LWRD ap_get_message
\ 019D B7 OR A
\ 019E 20FA JR NZ,?0034
\ 01A0 ?0035:
\ 01A0 ?0033:
158 ap_message_init(NULL);
\ 01A0 5F LD E,A
\ 01A1 57 LD D,A
\ 01A2 3E00 LD A,BYTE3 ap_message_init
\ 01A4 210000 LD HL,LWRD ap_message_init
\ 01A7 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
159
160 //获得 loaction
161 fselGetLocation(&g_viewpic_vars.location);
\ 01AA CDBE00 CALL LWRD ?0118
162
163 make_dirname();
\ 01AD 3E00 LD A,BYTE3 make_dirname
\ 01AF 210000 LD HL,LWRD make_dirname
\ 01B2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
164
165
166 file_changed = FALSE;
167 need_draw = TRUE;
\ 01B5 DD36EF00 LD (IX-17),0
\ 01B9 DD36EE01 LD (IX-18),1
\ 01BD ?0030:
168 }
169 output8(0x4e,input8(0x4e)|0x08);
\ 01BD DB4E IN A,(78)
\ 01BF CBDF SET 3,A
\ 01C1 D34E OUT (78),A
170 if(need_draw)
\ 01C3 AF XOR A
\ 01C4 DDB6EE OR (IX-18)
\ 01C7 CA7003 JP Z,?0037
\ 01CA ?0036:
171 {
172 old_active=active;
\ 01CA 2A0000 LD HL,(active)
\ 01CD DD75FA LD (IX-6),L
\ 01D0 DD74FB LD (IX-5),H
173 cur_group = active / 5;
\ 01D3 010500 LD BC,5
\ 01D6 EB EX DE,HL
\ 01D7 CD0000 CALL LWRD ?SS_DIV_L02
\ 01DA DD73F8 LD (IX-8),E
\ 01DD DD72F9 LD (IX-7),D
174 top = cur_group*5;
\ 01E0 EB EX DE,HL
\ 01E1 4D LD C,L
\ 01E2 44 LD B,H
\ 01E3 29 ADD HL,HL
\ 01E4 29 ADD HL,HL
\ 01E5 09 ADD HL,BC
\ 01E6 DD75F6 LD (IX-10),L
\ 01E9 DD74F7 LD (IX-9),H
175 tmp = g_file_total - 1;
\ 01EC ED4B0200 LD BC,(g_file_total)
\ 01F0 0B DEC BC
176 bottom = top+4;
\ 01F1 110400 LD DE,4
\ 01F4 19 ADD HL,DE
\ 01F5 DD75FC LD (IX-4),L
\ 01F8 DD74FD LD (IX-3),H
177 if(bottom>tmp)bottom = tmp;
\ 01FB EB EX DE,HL
\ 01FC 69 LD L,C
\ 01FD 60 LD H,B
\ 01FE F680 OR 128
\ 0200 ED52 SBC HL,DE
\ 0202 E20602 JP PO,?0107
\ 0205 AC XOR H
\ 0206 ?0107:
\ 0206 F21102 JP P,?0039
\ 0209 ?0038:
\ 0209 69 LD L,C
\ 020A 60 LD H,B
\ 020B DD75FC LD (IX-4),L
\ 020E DD74FD LD (IX-3),H
\ 0211 ?0039:
178
179 fselGetLocation(&g_viewpic_vars.location);
\ 0211 CDBE00 CALL LWRD ?0118
180 reinit_idm_buf_pic(top, bottom, 0, g_comval.langid);
\ 0214 ED4B0C00 LD BC,(g_comval+12)
\ 0218 0600 LD B,0
\ 021A C5 PUSH BC
\ 021B 68 LD L,B
\ 021C 60 LD H,B
\ 021D E5 PUSH HL
\ 021E DD4EFC LD C,(IX-4)
\ 0221 DD46FD LD B,(IX-3)
\ 0224 DD5EF6 LD E,(IX-10)
\ 0227 DD56F7 LD D,(IX-9)
\ 022A 3E00 LD A,BYTE3 reinit_idm_buf_pic
\ 022C 210000 LD HL,LWRD reinit_idm_buf_pic
\ 022F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0232 E1 POP HL
\ 0233 E1 POP HL
181 ResShowPic(MENUTWO,0,0);
\ 0234 0E00 LD C,0
\ 0236 C5 PUSH BC
\ 0237 116D00 LD DE,109
\ 023A CD0D05 CALL LWRD ?0119
\ 023D F1 POP AF
182 ResShowMultiString(PICTURE, g_comval.langid, 255, list_str_y_def);
\ 023E 0E94 LD C,148
\ 0240 C5 PUSH BC
\ 0241 0EFF LD C,255
\ 0243 C5 PUSH BC
\ 0244 ED4B0C00 LD BC,(g_comval+12)
\ 0248 11E001 LD DE,480
\ 024B 3E00 LD A,BYTE3 ResShowMultiString
\ 024D 210000 LD HL,LWRD ResShowMultiString
\ 0250 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0253 F1 POP AF
\ 0254 F1 POP AF
183 //ResShowPic(DHT,126,0);
184 ResShowPic(DHT,194,8);
\ 0255 0E08 LD C,8
\ 0257 C5 PUSH BC
\ 0258 0EC2 LD C,194
\ 025A 112D00 LD DE,45
\ 025D CD0D05 CALL LWRD ?0119
\ 0260 F1 POP AF
185 if(g_viewpic_vars.location.disk=='H')
\ 0261 3A0400 LD A,(g_viewpic_vars+4)
\ 0264 FE48 CP 72
\ 0266 200C JR NZ,?0041
\ 0268 ?0040:
186 ResShowPic(CARDDISK,180,150);
\ 0268 0E96 LD C,150
\ 026A C5 PUSH BC
\ 026B 0EB4 LD C,180
\ 026D 111E00 LD DE,30
\ 0270 CD0D05 CALL LWRD ?0119
\ 0273 F1 POP AF
\ 0274 ?0041:
187 ResShowPic(MDIR, 10, POSITION_MENU6-4);
\ 0274 0E73 LD C,115
\ 0276 C5 PUSH BC
\ 0277 0E0A LD C,10
\ 0279 115B00 LD DE,91
\ 027C CD0D05 CALL LWRD ?0119
\ 027F F1 POP AF
188 SetTextPos(menu_str_x_def, POSITION_MENU6-2);
\ 0280 0E75 LD C,117
\ 0282 1E20 LD E,32
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?