📄 draw_logo.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 12/Apr/106 09:56:18 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d35f\ap\ap_main\draw_logo.c #
# List file = d:\case_i_d35f\ap\ap_main\list\draw_logo.lst #
# Object file = d:\case_i_d35f\ap\ap_main\release\obj\draw_logo.r01 #
# Command line = -v0 -mb -OD:\case_i_d35f\ap\ap_main\release\Obj\ #
# -e -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG #
# -LD:\case_i_d35f\ap\ap_main\List\ -q -t8 -X #
# -Id:\sdk_i_35f\inc\ -Id:\case_i_d35f\inc\ #
# d:\case_i_d35f\AP\AP_MAIN\draw_logo.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME draw_logo(17)
\ 0000 RSEG CODE(0)
\ 0000 RSEG CSTR(0)
\ 0000 RSEG CONST(0)
\ 0000 EXTERN ClearScreen
\ 0000 EXTERN ResClose
\ 0000 EXTERN ResOpen
\ 0000 EXTERN ResShowLogo
\ 0000 EXTERN ResShowString
\ 0000 EXTERN UpdateScreen
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_sleep
\ 0000 PUBLIC convert_bmp
\ 0000 PUBLIC draw_logo
\ 0000 PUBLIC draw_staff
\ 0000 PUBLIC draw_system_logo
\ 0000 PUBLIC draw_user_logo
\ 0000 EXTERN res_fp
\ 0000 EXTERN sKY_OpenBacklight
\ 0000 PUBLIC staff
\ 0000 EXTERN ui_auto_update
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?SS_DIV_L02
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CODE
\ 0000 convert_bmp:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * main ap of sdk 3.0
5 *
6 * (c) Copyright, Actions Co,Ld.
7 * All Right Reserved
8 *
9 *******************************************************************************
10 */
11 #include "actos.h"
12 #include "ap_common.h"
13
14 extern comval_t g_comval; //use at:"sKY_SetBLightColor(g_comval.BLightColor);"add by ccm
15
16 //char logo_buf[512];
17 //char file_buf[512];
18
19 /* 使用 logo.res, id: 1~14
20 const WORD system_logo[] =
21 {
22 BOOT1, BOOT2, BOOT3, BOOT4, BOOT5, BOOT6, BOOT7,
23 BOOT8, BOOT9, BOOT10, BOOT11, BOOT12, BOOT13, BOOT14
24 };
25 */
26 const WORD staff[] =
27 {
28 STAFF1, STAFF2, STAFF3, STAFF4, STAFF5, STAFF6,
29 STAFF7, STAFF8, STAFF9, STAFF10, STAFF11, STAFF12
30 };
31
32 /*
33 ********************************************************************************
34 * Description : todo
35 *
36 * Arguments :
37 *
38 * Returns :
39 *
40 * Notes :
41 convert file_buf -> logo_buf
42 *
43 ********************************************************************************
44 */
45 void convert_bmp(int width)
46 {
\ 0000 D5 PUSH DE
47 }
\ 0001 E1 POP HL
\ 0002 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0005 draw_user_logo:
48 /*
49 ********************************************************************************
50 * Description : todo
51 *
52 * Arguments :
53 *
54 * Returns :
55 *
56 * Notes :
57 read logo.bmp
58 width = 128
59 height = n*32
60 *
61 ********************************************************************************
62 */
63 BOOL draw_user_logo(BOOL wait_key_up)
64 {
\ 0005 C5 PUSH BC
\ 0006 FDE5 PUSH IY
\ 0008 DDE5 PUSH IX
\ 000A D5 PUSH DE
65 int i;
66 int height;
67
68 //check if user file exist
69 return FALSE;
\ 000B 2E00 LD L,0
70
71 //read bmp header
72
73 //parse format
74
75 for(i=0; i<height/32; i++)
\ 000D ?0003:
\ 000D ?0004:
76 {
77 //read bit stream
78
79 //convert it
80
81 //show it
82 }
83 }
\ 000D ?0002:
\ 000D ?0006:
\ 000D ?0052:
\ 000D F1 POP AF
\ 000E DDE1 POP IX
\ 0010 FDE1 POP IY
\ 0012 C1 POP BC
\ 0013 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0016 draw_system_logo:
84 /*
85 ********************************************************************************
86 * Description : 显示系统开机动画
87 *
88 * Arguments : wait_key_up, 是否要等待按键
89 *
90 * Returns : TRUE, 正常
91 FALSE, 资源文件格式错误
92 *
93 * Notes :
94 *
95 ********************************************************************************
96 */
97 BOOL draw_system_logo(BOOL wait_key_up)
98 {
\ 0016 C5 PUSH BC
\ 0017 FDE5 PUSH IY
\ 0019 DDE5 PUSH IX
\ 001B D5 PUSH DE
\ 001C F5 PUSH AF
\ 001D F5 PUSH AF
99 int i;
100 int result;
101 //int logo_num = sizeof(system_logo)/sizeof(system_logo[0]);
102 WORD timer;
103 BOOL need_wait_keyup=wait_key_up;
104 char key;
105
106 //use logo.res
107 ResClose(res_fp);
\ 001E ED5B0000 LD DE,(res_fp)
\ 0022 3E00 LD A,BYTE3 ResClose
\ 0024 210000 LD HL,LWRD ResClose
\ 0027 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
108 res_fp = ResOpen("logo.res");
\ 002A 110000 LD DE,?0007
\ 002D 3E00 LD A,BYTE3 ResOpen
\ 002F 210000 LD HL,LWRD ResOpen
\ 0032 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0035 220000 LD (res_fp),HL
109 ASSERT( res_fp != NULL);
110
111 for(i=1; i<=14; i++)
\ 0038 210100 LD HL,1
\ 003B 39 ADD HL,SP
\ 003C E5 PUSH HL
\ 003D 23 INC HL
\ 003E 23 INC HL
\ 003F 23 INC HL
\ 0040 46 LD B,(HL)
\ 0041 E1 POP HL
\ 0042 70 LD (HL),B
\ 0043 FD210100 LD IY,1
\ 0047 ?0009:
\ 0047 FDE5 PUSH IY
\ 0049 C1 POP BC
\ 004A 210E00 LD HL,14
\ 004D F680 OR 128
\ 004F ED42 SBC HL,BC
\ 0051 E25500 JP PO,?0048
\ 0054 AC XOR H
\ 0055 ?0048:
\ 0055 FA9A00 JP M,?0008
\ 0058 ?0010:
112 {
113 result = ResShowLogo(i);
\ 0058 FDE5 PUSH IY
\ 005A D1 POP DE
\ 005B 3E00 LD A,BYTE3 ResShowLogo
\ 005D 210000 LD HL,LWRD ResShowLogo
\ 0060 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0063 4D LD C,L
\ 0064 44 LD B,H
114
115 //sKY_SetBLightColor((i-1)/2); //变换7彩背光颜色值(变换14次:"(i-1)%7" ; 7次:"(i-1)/2")。 for s2 by ccm
116 sKY_OpenBacklight(); //点亮"(i-1)%7"对应的彩色背光.for s2 by ccm
\ 0065 CD0000 CALL LWRD sKY_OpenBacklight
117
118 if(result == 0)
\ 0068 79 LD A,C
\ 0069 B0 OR B
\ 006A 2003 JR NZ,?0013
\ 006C ?0012:
119 {
120 //sKY_SetBLightColor(g_comval.BLightColor); //退出前恢复系统设置的背光颜色。for s2 add by ccm
121
122 return FALSE; //format error
\ 006C 6F LD L,A
123 }
\ 006D 1863 JR ?0030
\ 006F ?0013:
124
125 //result = ap_sleep(1);
126 //if(result != 0) return TRUE; //user press keys
127
128 //software timer
129 timer = 6000;
\ 006F DD217017 LD IX,6000
\ 0073 ?0015:
130 while(--timer > 0)
\ 0073 DD2B DEC IX
\ 0075 DDE5 PUSH IX
\ 0077 E1 POP HL
\ 0078 7D LD A,L
\ 0079 B4 OR H
\ 007A 2813 JR Z,?0014
\ 007C ?0016:
131 {
132 key = ap_get_message();
\ 007C CD0000 CALL LWRD ap_get_message
\ 007F 210000 LD HL,0
\ 0082 39 ADD HL,SP
\ 0083 77 LD (HL),A
133
134 //check key up
135 if( (key & AP_KEY_UP) != 0 )
\ 0084 CB6E BIT 5,(HL)
\ 0086 28EB JR Z,?0015
\ 0088 ?0017:
136 {
137 need_wait_keyup = FALSE;
\ 0088 23 INC HL
\ 0089 3600 LD (HL),0
138
139 //user press mode to skip
140 if(key == (AP_KEY_MODE | AP_KEY_UP)) break;
\ 008B FE30 CP 48
\ 008D 20E4 JR NZ,?0015
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -