📄 draw_logo.lst
字号:
\ 008F ?0019:
\ 008F ?0020:
\ 008F ?0018:
\ 008F ?0014:
141 }
142 }
143 if(timer != 0) break; //user skip
\ 008F DDE5 PUSH IX
\ 0091 E1 POP HL
\ 0092 7D LD A,L
\ 0093 B4 OR H
\ 0094 2004 JR NZ,?0008
\ 0096 ?0021:
\ 0096 ?0022:
\ 0096 FD23 INC IY
\ 0098 18AD JR ?0009
\ 009A ?0008:
144 }
145
146 //use ui30.res
147 ResClose(res_fp);
\ 009A ED5B0000 LD DE,(res_fp)
\ 009E 3E00 LD A,BYTE3 ResClose
\ 00A0 210000 LD HL,LWRD ResClose
\ 00A3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
148 res_fp = ResOpen("ui30.res");
\ 00A6 110900 LD DE,?0023
\ 00A9 3E00 LD A,BYTE3 ResOpen
\ 00AB 210000 LD HL,LWRD ResOpen
\ 00AE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00B1 220000 LD (res_fp),HL
149 ASSERT( res_fp != NULL);
150
151 //wait for key up
152 if(need_wait_keyup)
\ 00B4 210100 LD HL,1
\ 00B7 39 ADD HL,SP
\ 00B8 AF XOR A
\ 00B9 B6 OR (HL)
\ 00BA 2809 JR Z,?0025
\ 00BC ?0024:
\ 00BC ?0027:
153 {
154 while((ap_get_message() & AP_KEY_UP) == 0) {;}
\ 00BC CD0000 CALL LWRD ap_get_message
\ 00BF CB6F BIT 5,A
\ 00C1 200D JR NZ,?0029
\ 00C3 ?0028:
155 }
\ 00C3 18F7 JR ?0024
\ 00C5 ?0026:
\ 00C5 ?0025:
156 else ap_sleep(2);
\ 00C5 110200 LD DE,2
\ 00C8 3E00 LD A,BYTE3 ap_sleep
\ 00CA 210000 LD HL,LWRD ap_sleep
\ 00CD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00D0 ?0029:
157
158 //sKY_SetBLightColor(g_comval.BLightColor); //恢复系统设置的背光颜色。for s2 add by ccm
159
160 return TRUE;
\ 00D0 2E01 LD L,1
161 }
\ 00D2 ?0030:
\ 00D2 F1 POP AF
\ 00D3 F1 POP AF
\ 00D4 C30D00 JP LWRD ?0052
\ 00D7 draw_logo:
162 /*
163 ********************************************************************************
164 * Description : 按照以下优先级, 显示系统开机画面
165 1. 用户自定义动画
166 2. 系统开机动画
167 3. 系统开机画面
168 *
169 * Arguments : wait_key_up, 是否要等待按键
170 *
171 * Returns :
172 *
173 * Notes :
174 *
175 ********************************************************************************
176 */
177 void draw_logo(BOOL wait_key_up)
178 {
\ 00D7 D5 PUSH DE
179
180 //try to show user logo
181 if(draw_user_logo(wait_key_up)) return;
\ 00D8 3E00 LD A,BYTE3 draw_user_logo
\ 00DA 210500 LD HL,LWRD draw_user_logo
\ 00DD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00E0 2C INC L
\ 00E1 2D DEC L
\ 00E2 2025 JR NZ,?0035
\ 00E4 ?0031:
\ 00E4 ?0032:
182
183 //try to show system logo
184 else if(draw_system_logo(wait_key_up)) return;
\ 00E4 65 LD H,L
\ 00E5 39 ADD HL,SP
\ 00E6 5E LD E,(HL)
\ 00E7 3E00 LD A,BYTE3 draw_system_logo
\ 00E9 211600 LD HL,LWRD draw_system_logo
\ 00EC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00EF 2C INC L
\ 00F0 2D DEC L
\ 00F1 2016 JR NZ,?0035
\ 00F3 ?0033:
185
186 //try to show BOOTLOGO
187 else
\ 00F3 ?0034:
188 {
189 ResShowLogo(BOOTLOGO);
\ 00F3 118600 LD DE,134
\ 00F6 3E00 LD A,BYTE3 ResShowLogo
\ 00F8 210000 LD HL,LWRD ResShowLogo
\ 00FB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
190 ap_sleep(2);
\ 00FE 110200 LD DE,2
\ 0101 3E00 LD A,BYTE3 ap_sleep
\ 0103 210000 LD HL,LWRD ap_sleep
\ 0106 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
191 }
192 }
\ 0109 ?0035:
\ 0109 E1 POP HL
\ 010A C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 010D draw_staff:
193 /*
194 ********************************************************************************
195 * Description : 显示制作人员信息
196 *
197 * Arguments :
198 *
199 * Returns :
200 *
201 * Notes :
202 *
203 ********************************************************************************
204 */
205 void draw_staff(void)
206 {
\ 010D C5 PUSH BC
\ 010E D5 PUSH DE
\ 010F DDE5 PUSH IX
207 int i;
208 int total;
209
210 total = sizeof(staff)/sizeof(staff[0]);
211
212 ui_auto_update = FALSE;
\ 0111 AF XOR A
\ 0112 320000 LD (ui_auto_update),A
213 for(i=0; i<total - 1; i++)
\ 0115 DD210C00 LD IX,12
\ 0119 110000 LD DE,0
\ 011C ?0037:
\ 011C DDE5 PUSH IX
\ 011E C1 POP BC
\ 011F 0B DEC BC
\ 0120 6B LD L,E
\ 0121 62 LD H,D
\ 0122 F680 OR 128
\ 0124 ED42 SBC HL,BC
\ 0126 E22A01 JP PO,?0051
\ 0129 AC XOR H
\ 012A ?0051:
\ 012A F28101 JP P,?0036
\ 012D ?0038:
214 {
215 ClearScreen(NULL);
\ 012D D5 PUSH DE
\ 012E 110000 LD DE,0
\ 0131 CD0000 CALL LWRD ClearScreen
\ 0134 D1 POP DE
216
217 ResShowString(staff[i], 0, 0);
\ 0135 D5 PUSH DE
\ 0136 0E00 LD C,0
\ 0138 C5 PUSH BC
\ 0139 C5 PUSH BC
\ 013A EB EX DE,HL
\ 013B 29 ADD HL,HL
\ 013C 010000 LD BC,staff
\ 013F 09 ADD HL,BC
\ 0140 5E LD E,(HL)
\ 0141 23 INC HL
\ 0142 56 LD D,(HL)
\ 0143 3E00 LD A,BYTE3 ResShowString
\ 0145 210000 LD HL,LWRD ResShowString
\ 0148 C1 POP BC
\ 0149 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 014C F1 POP AF
\ 014D D1 POP DE
218 ResShowString(staff[i+1], 0, 16);
\ 014E D5 PUSH DE
\ 014F 0E10 LD C,16
\ 0151 C5 PUSH BC
\ 0152 0E00 LD C,0
\ 0154 C5 PUSH BC
\ 0155 EB EX DE,HL
\ 0156 29 ADD HL,HL
\ 0157 010200 LD BC,staff+2
\ 015A 09 ADD HL,BC
\ 015B 5E LD E,(HL)
\ 015C 23 INC HL
\ 015D 56 LD D,(HL)
\ 015E 3E00 LD A,BYTE3 ResShowString
\ 0160 210000 LD HL,LWRD ResShowString
\ 0163 C1 POP BC
\ 0164 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0167 F1 POP AF
219
220 UpdateScreen(NULL);
\ 0168 110000 LD DE,0
\ 016B CD0000 CALL LWRD UpdateScreen
221
222 if(ap_sleep(6) != 0) break;
\ 016E 110600 LD DE,6
\ 0171 3E00 LD A,BYTE3 ap_sleep
\ 0173 210000 LD HL,LWRD ap_sleep
\ 0176 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0179 2C INC L
\ 017A 2D DEC L
\ 017B D1 POP DE
\ 017C 2003 JR NZ,?0036
\ 017E ?0040:
\ 017E ?0041:
\ 017E 13 INC DE
\ 017F 189B JR ?0037
\ 0181 ?0036:
223 }
224 ui_auto_update = TRUE;
\ 0181 3E01 LD A,1
\ 0183 320000 LD (ui_auto_update),A
225
226
227 }
\ 0186 DDE1 POP IX
\ 0188 D1 POP DE
\ 0189 C1 POP BC
\ 018A 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
\ 0000 RSEG CONST
\ 0000 staff:
\ 0000 0302 DEFW 515
\ 0002 0402 DEFW 516
\ 0004 0502 DEFW 517
\ 0006 0602 DEFW 518
\ 0008 0702 DEFW 519
\ 000A 0802 DEFW 520
\ 000C 0902 DEFW 521
\ 000E 0A02 DEFW 522
\ 0010 0B02 DEFW 523
\ 0012 0C02 DEFW 524
\ 0014 0D02 DEFW 525
\ 0016 0E02 DEFW 526
\ 0018 END
Errors: none
Warnings: none
Code size: 397
Constant size: 42
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -