📄 ui_main_for_rec.lst
字号:
117
118 //只有这个界面使用,为了提高效率而放在这里
119 int main_ResShowPic(WORD id, uchar x, uchar y)
120 {
\ 00C7 C5 PUSH BC
\ 00C8 D5 PUSH DE
\ 00C9 F5 PUSH AF
\ 00CA F5 PUSH AF
121 WORD buf[2]; //buffer for sd read
122
123 ASSERT(id <= UIID_MAX);
124
125 //读entry
126 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
127 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
128 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
129 ASSERT(res_entry.length <= 512);
\ 00FA 1869 JR ?0006
\ 00FC ?0003:
130
131 //读数据
132 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
133
134 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
135
136 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
137 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
138
139 //显示
140 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
141 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
142 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
143 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:
144 return 1;
\ 0162 210100 LD HL,1
145 }
\ 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:
146
147
148
149 void ui_show_a(WORD id) //音乐类型
150 {
\ 016C C5 PUSH BC
\ 016D D5 PUSH DE
151 main_ResShowPic(id, 9, 85);
\ 016E 0E55 LD C,85
\ 0170 C5 PUSH BC
\ 0171 0E09 LD C,9
\ 0173 3E00 LD A,BYTE3 main_ResShowPic
\ 0175 21C700 LD HL,LWRD main_ResShowPic
\ 0178 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 017B F1 POP AF
152 }
\ 017C E1 POP HL
\ 017D C1 POP BC
\ 017E C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0181 ui_show_d:
153
154 void ui_show_d(const char *string, char mode) //显示当前时间
155 { /*char id;
\ 0181 C5 PUSH BC
\ 0182 D5 PUSH DE
\ 0183 F5 PUSH AF
\ 0184 F5 PUSH AF
\ 0185 F5 PUSH AF
\ 0186 F5 PUSH AF
156 id=*string-0x30;
157 main_ResShowPic(RPRGNUM0+id,139,107);
158 string++;
159 id= *string-0x30;
160 main_ResShowPic(RPRGNUM0+id,159,107);
161 string++;
162 id= *string-0x30;
163 main_ResShowPic(RPRGNUM0+id,171,107);
164 string++;
165 id= *string-0x30;
166 main_ResShowPic(RPRGNUM0+id,191,107);
167 string++;
168 id= *string-0x30;
169 main_ResShowPic(RPRGNUM0+id,203,107);*/
170 DC oldDC_sav;
171 GetDCStatus(&oldDC_sav);
\ 0187 210000 LD HL,0
\ 018A 39 ADD HL,SP
\ 018B CDD601 CALL LWRD ?0051
172 SetPenColor(Color_BLACK_def);
173 SetBackgdColor(Color_MENU_def);
174
175 SetAsciiFont(FONT_TYPE_SMALL);
176 if(mode)
\ 018E 210A00 LD HL,10
\ 0191 39 ADD HL,SP
\ 0192 AF XOR A
\ 0193 B6 OR (HL)
\ 0194 0E7C LD C,124
\ 0196 2804 JR Z,?0008
\ 0198 ?0007:
177 SetTextPos(122, 124);
\ 0198 1E7A LD E,122
\ 019A 1802 JR ?0031
178 else
\ 019C ?0008:
179 SetTextPos(6, 124);
\ 019C 1E06 LD E,6
\ 019E ?0031:
\ 019E CD0000 CALL LWRD SetTextPos
\ 01A1 ?0009:
180 PutS(string, -1);
\ 01A1 0EFF LD C,255
\ 01A3 210800 LD HL,8
\ 01A6 39 ADD HL,SP
\ 01A7 5E LD E,(HL)
\ 01A8 23 INC HL
\ 01A9 56 LD D,(HL)
\ 01AA CD0000 CALL LWRD PutS
181 SetAsciiFont(FONT_TYPE_DEFAULT);
\ 01AD 1E04 LD E,4
\ 01AF CD0000 CALL LWRD SetAsciiFont
182
183 SetPenColor(oldDC_sav.PenColor);
\ 01B2 210000 LD HL,0
\ 01B5 39 ADD HL,SP
\ 01B6 5E LD E,(HL)
\ 01B7 23 INC HL
\ 01B8 56 LD D,(HL)
\ 01B9 23 INC HL
\ 01BA 4E LD C,(HL)
\ 01BB 23 INC HL
\ 01BC 46 LD B,(HL)
\ 01BD CD0000 CALL LWRD SetPenColor
184 SetBackgdColor(oldDC_sav.BackgdColor);
\ 01C0 210400 LD HL,4
\ 01C3 39 ADD HL,SP
\ 01C4 5E LD E,(HL)
\ 01C5 23 INC HL
\ 01C6 56 LD D,(HL)
\ 01C7 23 INC HL
\ 01C8 4E LD C,(HL)
\ 01C9 23 INC HL
\ 01CA 46 LD B,(HL)
\ 01CB CD0000 CALL LWRD SetBackgdColor
185 }
\ 01CE 210C00 LD HL,12
\ 01D1 39 ADD HL,SP
\ 01D2 F9 LD SP,HL
\ 01D3 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 01D6 ?0051:
\ 01D6 EB EX DE,HL
\ 01D7 CD0000 CALL LWRD GetDCStatus
\ 01DA 010000 LD BC,0
\ 01DD 59 LD E,C
\ 01DE 50 LD D,B
\ 01DF CD0000 CALL LWRD SetPenColor
\ 01E2 010000 LD BC,0
\ 01E5 11FFFF LD DE,65535
\ 01E8 CD0000 CALL LWRD SetBackgdColor
\ 01EB 1E00 LD E,0
\ 01ED CD0000 CALL LWRD SetAsciiFont
\ 01F0 C9 RET
\ 01F1 ui_show_d2:
186
187 void ui_show_d2(const char *string) //显示当前时间
188 {
\ 01F1 C5 PUSH BC
\ 01F2 D5 PUSH DE
\ 01F3 F5 PUSH AF
\ 01F4 F5 PUSH AF
\ 01F5 F5 PUSH AF
\ 01F6 F5 PUSH AF
189 /*char id;
190 id=*string-0x30;
191 main_ResShowPic(TIMENUM0+id,157,92);
192 string++;
193 id= *string-0x30;
194 main_ResShowPic(TIMENUM0+id,165,92);
195 string++;
196 id= *string-0x30;
197 main_ResShowPic(TIMENUM0+id,179,92);
198 string++;
199 id= *string-0x30;
200 main_ResShowPic(TIMENUM0+id,187,92);
201 string++;
202 id= *string-0x30;
203 main_ResShowPic(TIMENUM0+id,200,92);
204 string++;
205 id= *string-0x30;
206 main_ResShowPic(TIMENUM0+id,208,92);
207 */
208 DC oldDC_sav;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -