draw_logo.lst
来自「MP3 整个 SDK」· LST 代码 · 共 433 行 · 第 1/2 页
LST
433 行
\ 0068 44 LD B,H
112
113 //sKY_SetBLightColor((i-1)/2); //变换7彩背光颜色值(变换14次:"(i-1)%7" ; 7次:"(i-1)/2")。 for s2 by ccm
114 sKY_OpenBacklight(); //点亮"(i-1)%7"对应的彩色背光.for s2 by ccm
\ 0069 CD0000 CALL LWRD sKY_OpenBacklight
115
116 if(result == 0)
\ 006C 79 LD A,C
\ 006D B0 OR B
\ 006E 282B JR Z,?0008
\ 0070 ?0012:
117 {
118 //sKY_SetBLightColor(g_comval.BLightColor); //退出前恢复系统设置的背光颜色。for s2 add by ccm
119 break;
\ 0070 ?0013:
120 // return FALSE; //format error
121 }
122
123 //result = ap_sleep(1);
124 //if(result != 0) return TRUE; //user press keys
125
126 //software timer
127 timer = 6000;
\ 0070 DD217017 LD IX,6000
\ 0074 ?0015:
128 while(--timer > 0)
\ 0074 DD2B DEC IX
\ 0076 DDE5 PUSH IX
\ 0078 E1 POP HL
\ 0079 7D LD A,L
\ 007A B4 OR H
\ 007B 2813 JR Z,?0014
\ 007D ?0016:
129 {
130 key = ap_get_message();
\ 007D CD0000 CALL LWRD ap_get_message
\ 0080 210000 LD HL,0
\ 0083 39 ADD HL,SP
\ 0084 77 LD (HL),A
131
132 //check key up
133 if( (key & AP_KEY_UP) != 0 )
\ 0085 CB6E BIT 5,(HL)
\ 0087 28EB JR Z,?0015
\ 0089 ?0017:
134 {
135 need_wait_keyup = FALSE;
\ 0089 23 INC HL
\ 008A 3600 LD (HL),0
136
137 //user press mode to skip
138 if(key == (AP_KEY_MODE | AP_KEY_UP)) break;
\ 008C FE30 CP 48
\ 008E 20E4 JR NZ,?0015
\ 0090 ?0019:
\ 0090 ?0020:
\ 0090 ?0018:
\ 0090 ?0014:
139 }
140 }
141 if(timer != 0) break; //user skip
\ 0090 DDE5 PUSH IX
\ 0092 E1 POP HL
\ 0093 7D LD A,L
\ 0094 B4 OR H
\ 0095 2004 JR NZ,?0008
\ 0097 ?0021:
\ 0097 ?0022:
\ 0097 FD23 INC IY
\ 0099 18AC JR ?0009
\ 009B ?0008:
142 }
143
144 //use ui30.res
145 ResClose(res_fp);
\ 009B ED5B0000 LD DE,(res_fp)
\ 009F 3E00 LD A,BYTE3 ResClose
\ 00A1 210000 LD HL,LWRD ResClose
\ 00A4 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
146 res_fp = ResOpen("ui30.res");
\ 00A7 110900 LD DE,?0023
\ 00AA 3E00 LD A,BYTE3 ResOpen
\ 00AC 210000 LD HL,LWRD ResOpen
\ 00AF CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00B2 220000 LD (res_fp),HL
147 ASSERT( res_fp != NULL);
148
149 //wait for key up
150 if(need_wait_keyup)
\ 00B5 210100 LD HL,1
\ 00B8 39 ADD HL,SP
\ 00B9 AF XOR A
\ 00BA B6 OR (HL)
\ 00BB 2809 JR Z,?0025
\ 00BD ?0024:
\ 00BD ?0027:
151 {
152 while((ap_get_message() & AP_KEY_UP) == 0) {;}
\ 00BD CD0000 CALL LWRD ap_get_message
\ 00C0 CB6F BIT 5,A
\ 00C2 200D JR NZ,?0029
\ 00C4 ?0028:
153 }
\ 00C4 18F7 JR ?0024
\ 00C6 ?0026:
\ 00C6 ?0025:
154 else ap_sleep(2);
\ 00C6 110200 LD DE,2
\ 00C9 3E00 LD A,BYTE3 ap_sleep
\ 00CB 210000 LD HL,LWRD ap_sleep
\ 00CE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00D1 ?0029:
155
156 //sKY_SetBLightColor(g_comval.BLightColor); //恢复系统设置的背光颜色。for s2 add by ccm
157
158 return TRUE;
\ 00D1 2E01 LD L,1
159 }
\ 00D3 F1 POP AF
\ 00D4 F1 POP AF
\ 00D5 C30D00 JP LWRD ?0042
\ 00D8 draw_logo:
160 /*
161 ********************************************************************************
162 * Description : 按照以下优先级, 显示系统开机画面
163 1. 用户自定义动画
164 2. 系统开机动画
165 3. 系统开机画面
166 *
167 * Arguments : wait_key_up, 是否要等待按键
168 *
169 * Returns :
170 *
171 * Notes :
172 *
173 ********************************************************************************
174 */
175 void draw_logo(BOOL wait_key_up)
176 {
\ 00D8 D5 PUSH DE
177
178 //try to show user logo
179 if(draw_user_logo(wait_key_up)) return;
\ 00D9 3E00 LD A,BYTE3 draw_user_logo
\ 00DB 210500 LD HL,LWRD draw_user_logo
\ 00DE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00E1 2C INC L
\ 00E2 2D DEC L
\ 00E3 201A JR NZ,?0034
\ 00E5 ?0030:
\ 00E5 ?0031:
180
181 //try to show system logo
182 else if(draw_system_logo(wait_key_up)) return;
\ 00E5 65 LD H,L
\ 00E6 39 ADD HL,SP
\ 00E7 5E LD E,(HL)
\ 00E8 3E00 LD A,BYTE3 draw_system_logo
\ 00EA 211600 LD HL,LWRD draw_system_logo
\ 00ED CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00F0 2C INC L
\ 00F1 2D DEC L
\ 00F2 200B JR NZ,?0034
\ 00F4 ?0032:
183
184 //try to show BOOTLOGO
185 else
\ 00F4 ?0033:
186 {
187 // ResShowLogo_1(BOOTLOGO,0,16);
188 ap_sleep(2);
\ 00F4 110200 LD DE,2
\ 00F7 3E00 LD A,BYTE3 ap_sleep
\ 00F9 210000 LD HL,LWRD ap_sleep
\ 00FC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
189 }
190 }
\ 00FF ?0034:
\ 00FF E1 POP HL
\ 0100 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0103 draw_staff:
191 /*
192 ********************************************************************************
193 * Description : 显示制作人员信息
194 *
195 * Arguments :
196 *
197 * Returns :
198 *
199 * Notes :
200 *
201 ********************************************************************************
202 */
203 void draw_staff(void)
204 {
205
206 }
\ 0103 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CSTR
\ 0000 ?0007:
\ 0000 6C6F676F DEFB 'logo.res'
\ 0004 2E726573
\ 0008 00 DEFB 0
\ 0009 ?0023:
\ 0009 75693330 DEFB 'ui30.res'
\ 000D 2E726573
\ 0011 00 DEFB 0
\ 0012 END
Errors: none
Warnings: none
Code size: 262
Constant size: 18
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?