ui_main.lst
来自「MP3 整个 SDK」· LST 代码 · 共 928 行 · 第 1/3 页
LST
928 行
\ 00F5 2805 JR Z,?0003
\ 00F7 ?0002:
\ 00F7 210000 LD HL,0
123 ASSERT(res_entry.length <= 512);
\ 00FA 1869 JR ?0006
\ 00FC ?0003:
124
125 //读数据
126 SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
\ 00FC 2A0200 LD HL,(res_entry+2)
\ 00FF E5 PUSH HL
\ 0100 2A0000 LD HL,(res_entry)
\ 0103 E5 PUSH HL
\ 0104 4F LD C,A
\ 0105 ED5B0000 LD DE,(res_fp)
\ 0109 CD0000 CALL LWRD SD_FSeek
\ 010C E1 POP HL
\ 010D E1 POP HL
127 SD_FRead(res_fp, buf, sizeof(buf));
\ 010E 210400 LD HL,4
\ 0111 E5 PUSH HL
\ 0112 2B DEC HL
\ 0113 2B DEC HL
\ 0114 39 ADD HL,SP
\ 0115 4D LD C,L
\ 0116 44 LD B,H
\ 0117 ED5B0000 LD DE,(res_fp)
\ 011B CD0000 CALL LWRD SD_FRead
\ 011E F1 POP AF
128 res_region.width = (char)buf[0];
\ 011F 210000 LD HL,0
\ 0122 39 ADD HL,SP
\ 0123 7E LD A,(HL)
\ 0124 320200 LD (res_region+2),A
129 res_region.height = (char)buf[1];
\ 0127 23 INC HL
\ 0128 23 INC HL
\ 0129 7E LD A,(HL)
\ 012A 320300 LD (res_region+3),A
130
131 //显示
132 res_region.x = x;
\ 012D 210600 LD HL,6
\ 0130 39 ADD HL,SP
\ 0131 7E LD A,(HL)
\ 0132 320000 LD (res_region),A
133 res_region.y = y;
\ 0135 210C00 LD HL,12
\ 0138 39 ADD HL,SP
\ 0139 7E LD A,(HL)
\ 013A 320100 LD (res_region+1),A
134 PutSDImage(&res_region, res_fp->rwpointer);
\ 013D 211400 LD HL,20
\ 0140 ED4B0000 LD BC,(res_fp)
\ 0144 09 ADD HL,BC
\ 0145 4E LD C,(HL)
\ 0146 23 INC HL
\ 0147 46 LD B,(HL)
\ 0148 23 INC HL
\ 0149 5E LD E,(HL)
\ 014A 23 INC HL
\ 014B 56 LD D,(HL)
\ 014C D5 PUSH DE
\ 014D C5 PUSH BC
\ 014E 110000 LD DE,res_region
\ 0151 CD0000 CALL LWRD PutSDImage
\ 0154 E1 POP HL
\ 0155 E1 POP HL
135 if(ui_auto_update) UpdateScreen(&res_region);
\ 0156 3A0000 LD A,(ui_auto_update)
\ 0159 B7 OR A
\ 015A 2806 JR Z,?0005
\ 015C ?0004:
\ 015C 110000 LD DE,res_region
\ 015F CD0000 CALL LWRD UpdateScreen
\ 0162 ?0005:
136 return 1;
\ 0162 210100 LD HL,1
137 }
\ 0165 ?0006:
\ 0165 F1 POP AF
\ 0166 F1 POP AF
\ 0167 F1 POP AF
\ 0168 F1 POP AF
\ 0169 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 016C ui_show_a:
138
139
140
141 void ui_show_a(WORD id) //音乐类型
142 {
\ 016C C5 PUSH BC
\ 016D D5 PUSH DE
143 main_ResShowPic(id, POS_TYPE, POSY_TYPE);
\ 016E 0E04 LD C,4
\ 0170 C5 PUSH BC
\ 0171 0E42 LD C,66
\ 0173 ?0085:
\ 0173 CD8401 CALL LWRD ?0091
\ 0176 F1 POP AF
144
145 }
\ 0177 E1 POP HL
\ 0178 C1 POP BC
\ 0179 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 017C ?0092:
\ 017C 5F LD E,A
\ 017D 1600 LD D,0
\ 017F 21B100 LD HL,177
\ 0182 ?0093:
\ 0182 19 ADD HL,DE
\ 0183 EB EX DE,HL
\ 0184 ?0091:
\ 0184 3E00 LD A,BYTE3 main_ResShowPic
\ 0186 21C700 LD HL,LWRD main_ResShowPic
\ 0189 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 018C ui_show_b:
146 void ui_show_b(WORD id) //播放模式
147 {
\ 018C C5 PUSH BC
\ 018D D5 PUSH DE
148 main_ResShowPic(id, POS_PALYMODE, POSY_PALYMODE);
\ 018E 0E00 LD C,0
\ 0190 C5 PUSH BC
\ 0191 0E80 LD C,128
\ 0193 C37301 JP LWRD ?0085
149 }
\ 0196 ui_show_c:
150
151 //id =0, clear the icon
152 void ui_show_c(WORD id) //EQ
153 {
\ 0196 C5 PUSH BC
\ 0197 D5 PUSH DE
154 main_ResShowPic(id,POS_EQ,POSY_EQ);
\ 0198 0E04 LD C,4
\ 019A C5 PUSH BC
\ 019B 0EB2 LD C,178
\ 019D C37301 JP LWRD ?0085
155 }
\ 01A0 ui_show_d:
156
157
158 void ui_show_d(const char *string) //显示当前时间
159 { char id;
\ 01A0 C5 PUSH BC
\ 01A1 DDE5 PUSH IX
\ 01A3 F5 PUSH AF
\ 01A4 D5 PUSH DE
\ 01A5 DDE1 POP IX
160 id=*string-0x30;
\ 01A7 1A LD A,(DE)
\ 01A8 C6D0 ADD A,208
161 main_ResShowPic(PRGNUM0+id,POS_SONGTIME,POSY_SONGTIME);
\ 01AA 0E32 LD C,50
\ 01AC C5 PUSH BC
\ 01AD 0E3E LD C,62
\ 01AF CD7C01 CALL LWRD ?0092
\ 01B2 F1 POP AF
162 string++;
163 id= *string-0x30;
\ 01B3 DD7E01 LD A,(IX+1)
\ 01B6 C6D0 ADD A,208
164 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+24,POSY_SONGTIME);
\ 01B8 0E32 LD C,50
\ 01BA C5 PUSH BC
\ 01BB 0E56 LD C,86
\ 01BD CD7C01 CALL LWRD ?0092
\ 01C0 F1 POP AF
165 string++;
166 id= *string-0x30;
\ 01C1 DD7E02 LD A,(IX+2)
\ 01C4 C6D0 ADD A,208
167 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+40,POSY_SONGTIME);
\ 01C6 0E32 LD C,50
\ 01C8 C5 PUSH BC
\ 01C9 0E66 LD C,102
\ 01CB CD7C01 CALL LWRD ?0092
\ 01CE F1 POP AF
168 string++;
169 id= *string-0x30;
\ 01CF DD7E03 LD A,(IX+3)
\ 01D2 C6D0 ADD A,208
170 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+62,POSY_SONGTIME);
\ 01D4 0E32 LD C,50
\ 01D6 C5 PUSH BC
\ 01D7 0E7C LD C,124
\ 01D9 CD7C01 CALL LWRD ?0092
\ 01DC F1 POP AF
171 string++;
172 id= *string-0x30;
\ 01DD DD7E04 LD A,(IX+4)
\ 01E0 C6D0 ADD A,208
173 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+78,POSY_SONGTIME);
\ 01E2 0E32 LD C,50
\ 01E4 C5 PUSH BC
\ 01E5 0E8C LD C,140
\ 01E7 CD7C01 CALL LWRD ?0092
\ 01EA F1 POP AF
174 }
\ 01EB E1 POP HL
\ 01EC DDE1 POP IX
\ 01EE C1 POP BC
\ 01EF C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 01F2 ui_show_f:
175
176
177 void ui_show_f(const char *string) //文件名/滚屏显示
178 {
\ 01F2 C5 PUSH BC
\ 01F3 D5 PUSH DE
179 SetTextPos(POS_SCROLLSTRAT, POSY_SCROLL);
\ 01F4 0E6E LD C,110
\ 01F6 ?0087:
\ 01F6 1E2D LD E,45
\ 01F8 CD0000 CALL LWRD SetTextPos
180 PutS(string, -1);
\ 01FB 0EFF LD C,255
\ 01FD 210000 LD HL,0
\ 0200 39 ADD HL,SP
\ 0201 5E LD E,(HL)
\ 0202 23 INC HL
\ 0203 56 LD D,(HL)
\ 0204 CD0000 CALL LWRD PutS
181 }
\ 0207 E1 POP HL
\ 0208 C1 POP BC
\ 0209 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 020C ui_show_g:
182
183 void ui_show_g(const char *string) //文件名显示
184 {
\ 020C C5 PUSH BC
\ 020D D5 PUSH DE
185 SetTextPos(POS_FILENAME, POSY_FILENAME);
\ 020E 0E4F LD C,79
\ 0210 C3F601 JP LWRD ?0087
186 PutS(string, -1);
187 }
\ 0213 ui_show_vol:
188
189 void ui_show_vol(BYTE volume) //显示音量信息
190 {
\ 0213 C5 PUSH BC
\ 0214 D5 PUSH DE
\ 0215 F5 PUSH AF
\ 0216 F5 PUSH AF
191 char temp[3];
192 itoa_2(volume, temp);
\ 0217 210000 LD HL,0
\ 021A 39 ADD HL,SP
\ 021B 4D LD C,L
\ 021C 44 LD B,H
\ 021D 3E00 LD A,BYTE3 itoa_2
\ 021F 211C00 LD HL,LWRD itoa_2
\ 0222 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
193 main_ResShowPic(TVNUM0+temp[0]-0x30,POS_VOl,POSY_VOl);
\ 0225 0EA2 LD C,162
\ 0227 C5 PUSH BC
\ 0228 0E18 LD C,24
\ 022A 210200 LD HL,2
\ 022D 39 ADD HL,SP
\ 022E 5E LD E,(HL)
\ 022F 1600 LD D,0
\ 0231 21C100 LD HL,193
\ 0234 CD8201 CALL LWRD ?0093
\ 0237 F1 POP AF
194 main_ResShowPic(TVNUM0+temp[1]-0x30,POS_VOl+6,POSY_VOl);
\ 0238 0EA2 LD C,162
\ 023A C5 PUSH BC
\ 023B 0E1E LD C,30
\ 023D 210300 LD HL,3
\ 0240 39 ADD HL,SP
\ 0241 5E LD E,(HL)
\ 0242 1600 LD D,0
\ 0244 21C100 LD HL,193
\ 0247 ?0088:
\ 0247 CD8201 CALL LWRD ?0093
\ 024A F1 POP AF
195 }
\ 024B E1 POP HL
\ 024C E1 POP HL
\ 024D E1 POP HL
\ 024E C1 POP BC
\ 024F C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0252 ui_show_bitrate:
196
197 void ui_show_bitrate(int bitvalue) //显示比特率
198 {
\ 0252 C5 PUSH BC
\ 0253 D5 PUSH DE
\ 0254 F5 PUSH AF
\ 0255 F5 PUSH AF
199 char temp[4];
200 itoa_3(bitvalue,temp);
\ 0256 210000 LD HL,0
\ 0259 39 ADD HL,SP
\ 025A 4D LD C,L
\ 025B 44 LD B,H
\ 025C 3E00 LD A,BYTE3 itoa_3
\ 025E 214200 LD HL,LWRD itoa_3
\ 0261 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
201 main_ResShowPic(MBIT0+temp[0]-0x30,POS_BITRATE,POSY_BITRATE);
\ 0264 0E04 LD C,4
\ 0266 C5 PUSH BC
\ 0267 0E09 LD C,9
\ 0269 210200 LD HL,2
\ 026C 39 ADD HL,SP
\ 026D 5E LD E,(HL)
\ 026E 1600 LD D,0
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?