📄 ap_common.lst
字号:
\ 0081 3D DEC A
\ 0082 2805 JR Z,?0010
\ 0084 ?0009:
\ 0084 210000 LD HL,0
124 ASSERT(res_entry.length <= 512);
\ 0087 1865 JR ?0013
\ 0089 ?0010:
125
126 //读数据
127 SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
\ 0089 2A1400 LD HL,(res_entry+2)
\ 008C E5 PUSH HL
\ 008D 2A1200 LD HL,(res_entry)
\ 0090 E5 PUSH HL
\ 0091 4F LD C,A
\ 0092 ED5B0000 LD DE,(res_fp)
\ 0096 CD0000 CALL LWRD SD_FSeek
\ 0099 E1 POP HL
\ 009A E1 POP HL
128
129 SD_FRead(res_fp, buf, sizeof(buf));
\ 009B 210400 LD HL,4
\ 009E E5 PUSH HL
\ 009F 2B DEC HL
\ 00A0 2B DEC HL
\ 00A1 39 ADD HL,SP
\ 00A2 4D LD C,L
\ 00A3 44 LD B,H
\ 00A4 CD4C00 CALL LWRD ?0021
\ 00A7 F1 POP AF
130
131 res_region.width = (char)buf[0];
\ 00A8 210000 LD HL,0
\ 00AB 39 ADD HL,SP
\ 00AC 7E LD A,(HL)
\ 00AD 322400 LD (res_region+2),A
132 res_region.height = (char)buf[1];
\ 00B0 23 INC HL
\ 00B1 23 INC HL
\ 00B2 7E LD A,(HL)
\ 00B3 322500 LD (res_region+3),A
133
134 //显示
135 res_region.x = x;
\ 00B6 210600 LD HL,6
\ 00B9 39 ADD HL,SP
\ 00BA 7E LD A,(HL)
\ 00BB 322200 LD (res_region),A
136 res_region.y = y;
\ 00BE 210C00 LD HL,12
\ 00C1 39 ADD HL,SP
\ 00C2 7E LD A,(HL)
\ 00C3 322300 LD (res_region+1),A
137 PutSDImage(&res_region, res_fp->rwpointer);
\ 00C6 211400 LD HL,20
\ 00C9 ED4B0000 LD BC,(res_fp)
\ 00CD 09 ADD HL,BC
\ 00CE 4E LD C,(HL)
\ 00CF 23 INC HL
\ 00D0 46 LD B,(HL)
\ 00D1 23 INC HL
\ 00D2 5E LD E,(HL)
\ 00D3 23 INC HL
\ 00D4 56 LD D,(HL)
\ 00D5 D5 PUSH DE
\ 00D6 C5 PUSH BC
\ 00D7 112200 LD DE,res_region
\ 00DA CD0000 CALL LWRD PutSDImage
\ 00DD E1 POP HL
\ 00DE E1 POP HL
138 if(ui_auto_update) UpdateScreen(&res_region);
\ 00DF 3A0000 LD A,(ui_auto_update)
\ 00E2 B7 OR A
\ 00E3 2806 JR Z,?0012
\ 00E5 ?0011:
\ 00E5 112200 LD DE,res_region
\ 00E8 CD0000 CALL LWRD UpdateScreen
\ 00EB ?0012:
139 return 1;
\ 00EB 210100 LD HL,1
140 }
\ 00EE ?0013:
\ 00EE F1 POP AF
\ 00EF F1 POP AF
\ 00F0 F1 POP AF
\ 00F1 F1 POP AF
\ 00F2 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 00F5 ResInvertShowPic:
141 #ifdef InvertFlag
142 int ResInvertShowPic(WORD id, uchar x, uchar y)
143 {
\ 00F5 C5 PUSH BC
\ 00F6 D5 PUSH DE
\ 00F7 F5 PUSH AF
\ 00F8 F5 PUSH AF
144 WORD buf[2]; //buffer for sd read
145
146 ASSERT(id <= UIID_MAX);
147
148 //读entry
149 SD_FSeek(res_fp, SEEK_SET, (long)id * sizeof(res_entry_t));
\ 00F9 6B LD L,E
\ 00FA 62 LD H,D
\ 00FB 010000 LD BC,0
\ 00FE 3E04 LD A,4
\ 0100 CD0000 CALL LWRD ?L_LSH_L03
\ 0103 C5 PUSH BC
\ 0104 E5 PUSH HL
\ 0105 0E00 LD C,0
\ 0107 ED5B0000 LD DE,(res_fp)
\ 010B CD0000 CALL LWRD SD_FSeek
\ 010E E1 POP HL
\ 010F E1 POP HL
150 SD_FRead(res_fp, &res_entry, sizeof(res_entry_t));
\ 0110 211000 LD HL,16
\ 0113 E5 PUSH HL
\ 0114 CD4900 CALL LWRD ?0022
\ 0117 F1 POP AF
151 if(res_entry.type != RES_TYPE_PIC) return 0;
\ 0118 3A1800 LD A,(res_entry+6)
\ 011B 3D DEC A
\ 011C 2805 JR Z,?0015
\ 011E ?0014:
\ 011E 210000 LD HL,0
152 ASSERT(res_entry.length <= 512);
\ 0121 186B JR ?0018
\ 0123 ?0015:
153
154 //读数据
155 SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
\ 0123 2A1400 LD HL,(res_entry+2)
\ 0126 E5 PUSH HL
\ 0127 2A1200 LD HL,(res_entry)
\ 012A E5 PUSH HL
\ 012B 4F LD C,A
\ 012C ED5B0000 LD DE,(res_fp)
\ 0130 CD0000 CALL LWRD SD_FSeek
\ 0133 E1 POP HL
\ 0134 E1 POP HL
156
157 SD_FRead(res_fp, buf, sizeof(buf));
\ 0135 210400 LD HL,4
\ 0138 E5 PUSH HL
\ 0139 2B DEC HL
\ 013A 2B DEC HL
\ 013B 39 ADD HL,SP
\ 013C 4D LD C,L
\ 013D 44 LD B,H
\ 013E CD4C00 CALL LWRD ?0021
\ 0141 F1 POP AF
158
159 res_region.width = (char)buf[0];
\ 0142 210000 LD HL,0
\ 0145 39 ADD HL,SP
\ 0146 7E LD A,(HL)
\ 0147 322400 LD (res_region+2),A
160 res_region.height = (char)buf[1];
\ 014A 23 INC HL
\ 014B 23 INC HL
\ 014C 7E LD A,(HL)
\ 014D 322500 LD (res_region+3),A
161
162 //显示
163 res_region.x = x;
\ 0150 210600 LD HL,6
\ 0153 39 ADD HL,SP
\ 0154 7E LD A,(HL)
\ 0155 322200 LD (res_region),A
164 res_region.y = y;
\ 0158 210C00 LD HL,12
\ 015B 39 ADD HL,SP
\ 015C 7E LD A,(HL)
\ 015D 322300 LD (res_region+1),A
165 PutSDImage(&res_region, res_fp->rwpointer);
\ 0160 211400 LD HL,20
\ 0163 ED4B0000 LD BC,(res_fp)
\ 0167 09 ADD HL,BC
\ 0168 4E LD C,(HL)
\ 0169 23 INC HL
\ 016A 46 LD B,(HL)
\ 016B 23 INC HL
\ 016C 5E LD E,(HL)
\ 016D 23 INC HL
\ 016E 56 LD D,(HL)
\ 016F D5 PUSH DE
\ 0170 C5 PUSH BC
\ 0171 112200 LD DE,res_region
\ 0174 CD0000 CALL LWRD PutSDImage
\ 0177 E1 POP HL
\ 0178 E1 POP HL
166 InvertRegion(&res_region);
\ 0179 112200 LD DE,res_region
\ 017C CD0000 CALL LWRD InvertRegion
167 if(ui_auto_update) UpdateScreen(&res_region);
\ 017F 3A0000 LD A,(ui_auto_update)
\ 0182 B7 OR A
\ 0183 2806 JR Z,?0017
\ 0185 ?0016:
\ 0185 112200 LD DE,res_region
\ 0188 CD0000 CALL LWRD UpdateScreen
\ 018B ?0017:
168 return 1;
\ 018B 210100 LD HL,1
169 }
\ 018E ?0018:
\ 018E F1 POP AF
\ 018F F1 POP AF
\ 0190 F1 POP AF
\ 0191 F1 POP AF
\ 0192 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
170 #endif
171 #pragma function=default
172
173
\ 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
\ 0026 str_pt:
\ 0028 DEFS 2
\ 0028 strhead_pt:
\ 002A DEFS 2
\ 002A scroll_cnt:
\ 002B DEFS 1
\ 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: 405
Constant size: 3
Static variable size: Data(46) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -