📄 ui_main_for_music.lst
字号:
108 buf[2] = (i % 100) / 10+'0' ;
\ 00AA CD8200 CALL LWRD ?0050
\ 00AD 0E0A LD C,10
\ 00AF CD0000 CALL LWRD ?US_DIV_L02
\ 00B2 7B LD A,E
\ 00B3 C630 ADD A,48
\ 00B5 DD7702 LD (IX+2),A
109 buf[3] = (i % 10)+'0';
\ 00B8 CD8200 CALL LWRD ?0050
\ 00BB 7B LD A,E
\ 00BC C630 ADD A,48
\ 00BE DD7703 LD (IX+3),A
110 buf[4] = 0;
\ 00C1 DD7004 LD (IX+4),B
111
112 return buf;
\ 00C4 C36F00 JP LWRD ?0045
113 }
\ 00C7 main_ResShowPic:
114
115
116 //只有这个界面使用,为了提高效率而放在这里
117 int main_ResShowPic(WORD id, uchar x, uchar y)
118 {
\ 00C7 C5 PUSH BC
\ 00C8 D5 PUSH DE
\ 00C9 F5 PUSH AF
\ 00CA F5 PUSH AF
119 WORD buf[2]; //buffer for sd read
120
121 //ASSERT(id <= UIID_MAX);
122
123 //读entry
124 SD_FSeek(res_fp, SEEK_SET, (long)id * sizeof(res_entry_t));
\ 00CB 6B LD L,E
\ 00CC 62 LD H,D
\ 00CD 010000 LD BC,0
\ 00D0 3E04 LD A,4
\ 00D2 CD0000 CALL LWRD ?L_LSH_L03
\ 00D5 C5 PUSH BC
\ 00D6 E5 PUSH HL
\ 00D7 0E00 LD C,0
\ 00D9 ED5B0000 LD DE,(res_fp)
\ 00DD CD0000 CALL LWRD SD_FSeek
\ 00E0 E1 POP HL
\ 00E1 E1 POP HL
125 SD_FRead(res_fp, &res_entry, sizeof(res_entry_t));
\ 00E2 211000 LD HL,16
\ 00E5 E5 PUSH HL
\ 00E6 010000 LD BC,res_entry
\ 00E9 ED5B0000 LD DE,(res_fp)
\ 00ED CD0000 CALL LWRD SD_FRead
\ 00F0 F1 POP AF
126 if(res_entry.type != RES_TYPE_PIC) return 0;
\ 00F1 3A0600 LD A,(res_entry+6)
\ 00F4 3D DEC A
\ 00F5 2805 JR Z,?0003
\ 00F7 ?0002:
\ 00F7 210000 LD HL,0
127 ASSERT(res_entry.length <= 512);
\ 00FA 185D JR ?0004
\ 00FC ?0003:
128
129 //读数据
130 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
131
132 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
133
134 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
135 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
136
137 //显示
138 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
139 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
140 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
141 return 1;
\ 0156 210100 LD HL,1
142 }
\ 0159 ?0004:
\ 0159 F1 POP AF
\ 015A F1 POP AF
\ 015B F1 POP AF
\ 015C F1 POP AF
\ 015D C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0160 ui_show_a:
143
144
145
146 void ui_show_a(WORD id) //音乐类型
147 {
\ 0160 C5 PUSH BC
\ 0161 D5 PUSH DE
148 main_ResShowPic(id, POS_TYPE, POSY_TYPE);
\ 0162 0E04 LD C,4
\ 0164 C5 PUSH BC
\ 0165 0E42 LD C,66
\ 0167 ?0046:
\ 0167 3E00 LD A,BYTE3 main_ResShowPic
\ 0169 21C700 LD HL,LWRD main_ResShowPic
\ 016C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 016F F1 POP AF
149
150 }
\ 0170 E1 POP HL
\ 0171 C1 POP BC
\ 0172 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0175 ui_show_b:
151 void ui_show_b(WORD id) //播放模式
152 {
\ 0175 C5 PUSH BC
\ 0176 D5 PUSH DE
153 main_ResShowPic(id, 142, 22);
\ 0177 0E16 LD C,22
\ 0179 C5 PUSH BC
\ 017A 0E8E LD C,142
\ 017C C36701 JP LWRD ?0046
154 }
\ 017F ui_show_c:
155
156 //id =0, clear the icon
157 void ui_show_c(WORD id) //EQ
158 {
\ 017F C5 PUSH BC
\ 0180 D5 PUSH DE
159 main_ResShowPic(id,POS_EQ,POSY_EQ);
\ 0181 0E06 LD C,6
\ 0183 C5 PUSH BC
\ 0184 0E0C LD C,12
\ 0186 C36701 JP LWRD ?0046
160 }
\ 0189 ui_show_d:
161
162
163
164 void ui_show_d(const char *string, char mode) //显示当前时间
165 {
\ 0189 C5 PUSH BC
\ 018A D5 PUSH DE
\ 018B F5 PUSH AF
\ 018C F5 PUSH AF
\ 018D F5 PUSH AF
\ 018E F5 PUSH AF
166 /*
167 char id;
168 id=*string-0x30;
169 main_ResShowPic(PRGNUM0+id,POS_SONGTIME,POSY_SONGTIME);
170 string++;
171 id= *string-0x30;
172 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+24,POSY_SONGTIME);
173 string++;
174 id= *string-0x30;
175 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+40,POSY_SONGTIME);
176 string++;
177 id= *string-0x30;
178 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+62,POSY_SONGTIME);
179 string++;
180 id= *string-0x30;
181 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+78,POSY_SONGTIME);
182 */
183 DC oldDC_sav;
184 GetDCStatus(&oldDC_sav);
\ 018F 210000 LD HL,0
\ 0192 39 ADD HL,SP
\ 0193 EB EX DE,HL
\ 0194 CD0000 CALL LWRD GetDCStatus
185 SetPenColor(Color_BLACK_def);
\ 0197 010000 LD BC,0
\ 019A 59 LD E,C
\ 019B 50 LD D,B
\ 019C CD0000 CALL LWRD SetPenColor
186 SetBackgdColor(Color_MENU_def);
\ 019F 010000 LD BC,0
\ 01A2 11FFFF LD DE,65535
\ 01A5 CD0000 CALL LWRD SetBackgdColor
187
188 SetAsciiFont(FONT_TYPE_SMALL);
\ 01A8 1E00 LD E,0
\ 01AA CD0000 CALL LWRD SetAsciiFont
189 if(mode)
\ 01AD 210A00 LD HL,10
\ 01B0 39 ADD HL,SP
\ 01B1 AF XOR A
\ 01B2 B6 OR (HL)
\ 01B3 0E7C LD C,124
\ 01B5 2804 JR Z,?0006
\ 01B7 ?0005:
190 SetTextPos(122, 124);
\ 01B7 1E7A LD E,122
\ 01B9 1802 JR ?0029
191 else
\ 01BB ?0006:
192 SetTextPos(6, 124);
\ 01BB 1E06 LD E,6
\ 01BD ?0029:
\ 01BD CD0000 CALL LWRD SetTextPos
\ 01C0 ?0007:
193 PutS(string, -1);
\ 01C0 0EFF LD C,255
\ 01C2 210800 LD HL,8
\ 01C5 39 ADD HL,SP
\ 01C6 5E LD E,(HL)
\ 01C7 23 INC HL
\ 01C8 56 LD D,(HL)
\ 01C9 CD0000 CALL LWRD PutS
194 SetAsciiFont(FONT_TYPE_DEFAULT);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -