📄 ap_common.lst
字号:
\ 008D 2A1200 LD HL,(res_entry)
\ 0090 E5 PUSH HL
\ 0091 0E00 LD C,0
\ 0093 ED5B0000 LD DE,(res_fp)
\ 0097 CD0000 CALL LWRD SD_FSeek
\ 009A E1 POP HL
\ 009B E1 POP HL
116 res_region.width = SCR_WIDTH;
\ 009C 3E80 LD A,128
\ 009E 322400 LD (res_region+2),A
117 res_region.height = SCR_HEIGHT;
\ 00A1 3E20 LD A,32
\ 00A3 322500 LD (res_region+3),A
118
119 //显示logo
120 res_region.x = 0;
\ 00A6 AF XOR A
\ 00A7 322200 LD (res_region),A
121 res_region.y = 0;
\ 00AA 322300 LD (res_region+1),A
122 PutSDImage(&res_region, res_fp->rwpointer);
\ 00AD 211400 LD HL,20
\ 00B0 ED4B0000 LD BC,(res_fp)
\ 00B4 09 ADD HL,BC
\ 00B5 4E LD C,(HL)
\ 00B6 23 INC HL
\ 00B7 46 LD B,(HL)
\ 00B8 23 INC HL
\ 00B9 5E LD E,(HL)
\ 00BA 23 INC HL
\ 00BB 56 LD D,(HL)
\ 00BC D5 PUSH DE
\ 00BD C5 PUSH BC
\ 00BE 112200 LD DE,res_region
\ 00C1 CD0000 CALL LWRD PutSDImage
\ 00C4 E1 POP HL
\ 00C5 E1 POP HL
123 if(ui_auto_update) UpdateScreen(&res_region);
\ 00C6 3A0000 LD A,(ui_auto_update)
\ 00C9 B7 OR A
\ 00CA 2806 JR Z,?0012
\ 00CC ?0011:
\ 00CC 112200 LD DE,res_region
\ 00CF CD0000 CALL LWRD UpdateScreen
\ 00D2 ?0012:
124 return 1;
\ 00D2 210100 LD HL,1
125 }
\ 00D5 ?0013:
\ 00D5 F1 POP AF
\ 00D6 C1 POP BC
\ 00D7 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 00DA ResShowPic:
126
127 /*
128 ********************************************************************************
129 * Description : 在指定位置显示图形
130 *
131 * Arguments : id, 资源代号
132 x,y, 屏幕坐标
133 *
134 * Returns : 成功, 1
135 失败, 0
136 *
137 * Notes :
138 *
139 ********************************************************************************
140 */
141 int ResShowPic(WORD id, uchar x, uchar y)
142 {
\ 00DA C5 PUSH BC
\ 00DB D5 PUSH DE
\ 00DC F5 PUSH AF
\ 00DD F5 PUSH AF
143 WORD buf[2]; //buffer for sd read
144
145 ASSERT(id <= UIID_MAX);
146
147 //读entry
148 SD_FSeek(res_fp, SEEK_SET, (long)id * sizeof(res_entry_t));
\ 00DE 6B LD L,E
\ 00DF 62 LD H,D
\ 00E0 010000 LD BC,0
\ 00E3 3E04 LD A,4
\ 00E5 CD0000 CALL LWRD ?L_LSH_L03
\ 00E8 C5 PUSH BC
\ 00E9 E5 PUSH HL
\ 00EA 0E00 LD C,0
\ 00EC ED5B0000 LD DE,(res_fp)
\ 00F0 CD0000 CALL LWRD SD_FSeek
\ 00F3 E1 POP HL
\ 00F4 E1 POP HL
149 SD_FRead(res_fp, &res_entry, sizeof(res_entry_t));
\ 00F5 211000 LD HL,16
\ 00F8 E5 PUSH HL
\ 00F9 011200 LD BC,res_entry
\ 00FC ED5B0000 LD DE,(res_fp)
\ 0100 CD0000 CALL LWRD SD_FRead
\ 0103 F1 POP AF
150 if(res_entry.type != RES_TYPE_PIC) return 0;
\ 0104 3A1800 LD A,(res_entry+6)
\ 0107 3D DEC A
\ 0108 2805 JR Z,?0015
\ 010A ?0014:
\ 010A 210000 LD HL,0
151 ASSERT(res_entry.length <= 512);
\ 010D 1869 JR ?0018
\ 010F ?0015:
152
153 //读数据
154 SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
\ 010F 2A1400 LD HL,(res_entry+2)
\ 0112 E5 PUSH HL
\ 0113 2A1200 LD HL,(res_entry)
\ 0116 E5 PUSH HL
\ 0117 4F LD C,A
\ 0118 ED5B0000 LD DE,(res_fp)
\ 011C CD0000 CALL LWRD SD_FSeek
\ 011F E1 POP HL
\ 0120 E1 POP HL
155 //SD_FRead(res_fp, &(res_region.width), 2);
156 //SD_FRead(res_fp, &(res_region.height), 2);
157 SD_FRead(res_fp, buf, sizeof(buf));
\ 0121 210400 LD HL,4
\ 0124 E5 PUSH HL
\ 0125 2B DEC HL
\ 0126 2B DEC HL
\ 0127 39 ADD HL,SP
\ 0128 4D LD C,L
\ 0129 44 LD B,H
\ 012A ED5B0000 LD DE,(res_fp)
\ 012E CD0000 CALL LWRD SD_FRead
\ 0131 F1 POP AF
158 //ASSERT(buf[0] <= 128);
159 //ASSERT(buf[1] <= 32);
160 res_region.width = (char)buf[0];
\ 0132 210000 LD HL,0
\ 0135 39 ADD HL,SP
\ 0136 7E LD A,(HL)
\ 0137 322400 LD (res_region+2),A
161 res_region.height = (char)buf[1];
\ 013A 23 INC HL
\ 013B 23 INC HL
\ 013C 7E LD A,(HL)
\ 013D 322500 LD (res_region+3),A
162
163 //显示
164 res_region.x = x;
\ 0140 210600 LD HL,6
\ 0143 39 ADD HL,SP
\ 0144 7E LD A,(HL)
\ 0145 322200 LD (res_region),A
165 res_region.y = y;
\ 0148 210C00 LD HL,12
\ 014B 39 ADD HL,SP
\ 014C 7E LD A,(HL)
\ 014D 322300 LD (res_region+1),A
166 PutSDImage(&res_region, res_fp->rwpointer);
\ 0150 211400 LD HL,20
\ 0153 ED4B0000 LD BC,(res_fp)
\ 0157 09 ADD HL,BC
\ 0158 4E LD C,(HL)
\ 0159 23 INC HL
\ 015A 46 LD B,(HL)
\ 015B 23 INC HL
\ 015C 5E LD E,(HL)
\ 015D 23 INC HL
\ 015E 56 LD D,(HL)
\ 015F D5 PUSH DE
\ 0160 C5 PUSH BC
\ 0161 112200 LD DE,res_region
\ 0164 CD0000 CALL LWRD PutSDImage
\ 0167 E1 POP HL
\ 0168 E1 POP HL
167 if(ui_auto_update) UpdateScreen(&res_region);
\ 0169 3A0000 LD A,(ui_auto_update)
\ 016C B7 OR A
\ 016D 2806 JR Z,?0017
\ 016F ?0016:
\ 016F 112200 LD DE,res_region
\ 0172 CD0000 CALL LWRD UpdateScreen
\ 0175 ?0017:
168 return 1;
\ 0175 210100 LD HL,1
169 }
\ 0178 ?0018:
\ 0178 F1 POP AF
\ 0179 F1 POP AF
\ 017A F1 POP AF
\ 017B F1 POP AF
\ 017C C30000 JP LWRD ?BANK_FAST_LEAVE_L08
170
171 /*
172 bool SDCardPullOutSign(char CurDisk)
173 {
174 //送出已拔出标志
175 if (CurDisk == 'H')
176 {
177 if (DRV_DetectUD(1) != 0x20)
178 {
179 return TRUE; //卡已不在,送出拔出标志
180 }
181 }
182 return FALSE;
183 }
184
185 */
186 #pragma function=default
187
\ 0000 RSEG UDATA0
\ 0000 res_fp:
\ 0002 DEFS 2
\ 0002 res_head:
\ 0012 DEFS 16
\ 0012 res_entry:
\ 0022 DEFS 16
\ 0022 res_region:
\ 0026 DEFS 4
\ 0000 RSEG IDATA0
\ 0000 ui_auto_update:
\ 0001 DEFS 1
\ 0001 ui_auto_select:
\ 0002 DEFS 1
\ 0002 ui_run_realtime:
\ 0003 DEFS 1
\ 0000 RSEG CDATA0
\ 0000 01 DEFB 1
\ 0001 01 DEFB 1
\ 0002 00 DEFB 0
\ 0003 END
Errors: none
Warnings: none
Code size: 383
Constant size: 3
Static variable size: Data(41) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -