📄 ap_common.lst
字号:
118 SD_FRead(res_fp, &res_entry, sizeof(res_entry_t));
\ 0069 211000 LD HL,16
\ 006C E5 PUSH HL
\ 006D CD4800 CALL LWRD ?0022
\ 0070 F1 POP AF
119 if(res_entry.type != RES_TYPE_PIC) return 0;
\ 0071 3A1800 LD A,(res_entry+6)
\ 0074 3D DEC A
\ 0075 2805 JR Z,?0010
\ 0077 ?0009:
\ 0077 210000 LD HL,0
120 ASSERT(res_entry.length <= 512);
\ 007A 185B JR ?0013
\ 007C ?0010:
121
122 //读数据
123 SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
\ 007C 2A1400 LD HL,(res_entry+2)
\ 007F E5 PUSH HL
\ 0080 2A1200 LD HL,(res_entry)
\ 0083 E5 PUSH HL
\ 0084 4F LD C,A
\ 0085 CDEA00 CALL LWRD ?0025
\ 0088 E1 POP HL
\ 0089 E1 POP HL
124
125 SD_FRead(res_fp, buf, sizeof(buf));
\ 008A 210400 LD HL,4
\ 008D E5 PUSH HL
\ 008E 2B DEC HL
\ 008F 2B DEC HL
\ 0090 39 ADD HL,SP
\ 0091 4D LD C,L
\ 0092 44 LD B,H
\ 0093 CD4B00 CALL LWRD ?0021
\ 0096 F1 POP AF
126
127 res_region.width = (char)buf[0];
\ 0097 DD7EFC LD A,(IX-4)
\ 009A 322400 LD (res_region+2),A
128 res_region.height = (char)buf[1];
\ 009D DD7EFE LD A,(IX-2)
\ 00A0 322500 LD (res_region+3),A
129
130 //显示
131 res_region.x = x;
\ 00A3 DD7E04 LD A,(IX+4)
\ 00A6 322200 LD (res_region),A
132 res_region.y = y;
\ 00A9 DD7E0A LD A,(IX+10)
\ 00AC 322300 LD (res_region+1),A
133 PutSDImage(&res_region, res_fp->rwpointer);
\ 00AF 211400 LD HL,20
\ 00B2 ED4B0000 LD BC,(res_fp)
\ 00B6 09 ADD HL,BC
\ 00B7 4E LD C,(HL)
\ 00B8 23 INC HL
\ 00B9 46 LD B,(HL)
\ 00BA 23 INC HL
\ 00BB 5E LD E,(HL)
\ 00BC 23 INC HL
\ 00BD 56 LD D,(HL)
\ 00BE D5 PUSH DE
\ 00BF C5 PUSH BC
\ 00C0 112200 LD DE,res_region
\ 00C3 CD0000 CALL LWRD PutSDImage
\ 00C6 E1 POP HL
\ 00C7 E1 POP HL
134 if(ui_auto_update) UpdateScreen(&res_region);
\ 00C8 3A0000 LD A,(ui_auto_update)
\ 00CB B7 OR A
\ 00CC 2806 JR Z,?0012
\ 00CE ?0011:
\ 00CE 112200 LD DE,res_region
\ 00D1 CD0000 CALL LWRD UpdateScreen
\ 00D4 ?0012:
135 return 1;
\ 00D4 210100 LD HL,1
136 }
\ 00D7 ?0013:
\ 00D7 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 00DA ?0023:
\ 00DA DD6E02 LD L,(IX+2)
\ 00DD DD6603 LD H,(IX+3)
\ 00E0 010000 LD BC,0
\ 00E3 3E04 LD A,4
\ 00E5 C30000 JP LWRD ?L_LSH_L03
\ 00E8 ?0024:
\ 00E8 0E00 LD C,0
\ 00EA ?0025:
\ 00EA ED5B0000 LD DE,(res_fp)
\ 00EE C30000 JP LWRD SD_FSeek
\ 00F1 ResInvertShowPic:
137 #ifdef InvertFlag
138 int ResInvertShowPic(WORD id, uchar x, uchar y)
139 {
\ 00F1 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 00F4 FCFF DEFW 65532
140 WORD buf[2]; //buffer for sd read
141
142 ASSERT(id <= UIID_MAX);
143
144 //读entry
145 SD_FSeek(res_fp, SEEK_SET, (long)id * sizeof(res_entry_t));
\ 00F6 CDDA00 CALL LWRD ?0023
\ 00F9 C5 PUSH BC
\ 00FA E5 PUSH HL
\ 00FB CDE800 CALL LWRD ?0024
\ 00FE E1 POP HL
\ 00FF E1 POP HL
146 SD_FRead(res_fp, &res_entry, sizeof(res_entry_t));
\ 0100 211000 LD HL,16
\ 0103 E5 PUSH HL
\ 0104 CD4800 CALL LWRD ?0022
\ 0107 F1 POP AF
147 if(res_entry.type != RES_TYPE_PIC) return 0;
\ 0108 3A1800 LD A,(res_entry+6)
\ 010B 3D DEC A
\ 010C 2805 JR Z,?0015
\ 010E ?0014:
\ 010E 210000 LD HL,0
148 ASSERT(res_entry.length <= 512);
\ 0111 1861 JR ?0018
\ 0113 ?0015:
149
150 //读数据
151 SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
\ 0113 2A1400 LD HL,(res_entry+2)
\ 0116 E5 PUSH HL
\ 0117 2A1200 LD HL,(res_entry)
\ 011A E5 PUSH HL
\ 011B 4F LD C,A
\ 011C CDEA00 CALL LWRD ?0025
\ 011F E1 POP HL
\ 0120 E1 POP HL
152
153 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 CD4B00 CALL LWRD ?0021
\ 012D F1 POP AF
154
155 res_region.width = (char)buf[0];
\ 012E DD7EFC LD A,(IX-4)
\ 0131 322400 LD (res_region+2),A
156 res_region.height = (char)buf[1];
\ 0134 DD7EFE LD A,(IX-2)
\ 0137 322500 LD (res_region+3),A
157
158 //显示
159 res_region.x = x;
\ 013A DD7E04 LD A,(IX+4)
\ 013D 322200 LD (res_region),A
160 res_region.y = y;
\ 0140 DD7E0A LD A,(IX+10)
\ 0143 322300 LD (res_region+1),A
161 PutSDImage(&res_region, res_fp->rwpointer);
\ 0146 211400 LD HL,20
\ 0149 ED4B0000 LD BC,(res_fp)
\ 014D 09 ADD HL,BC
\ 014E 4E LD C,(HL)
\ 014F 23 INC HL
\ 0150 46 LD B,(HL)
\ 0151 23 INC HL
\ 0152 5E LD E,(HL)
\ 0153 23 INC HL
\ 0154 56 LD D,(HL)
\ 0155 D5 PUSH DE
\ 0156 C5 PUSH BC
\ 0157 112200 LD DE,res_region
\ 015A CD0000 CALL LWRD PutSDImage
\ 015D E1 POP HL
\ 015E E1 POP HL
162 InvertRegion(&res_region);
\ 015F 112200 LD DE,res_region
\ 0162 CD0000 CALL LWRD InvertRegion
163 if(ui_auto_update) UpdateScreen(&res_region);
\ 0165 3A0000 LD A,(ui_auto_update)
\ 0168 B7 OR A
\ 0169 2806 JR Z,?0017
\ 016B ?0016:
\ 016B 112200 LD DE,res_region
\ 016E CD0000 CALL LWRD UpdateScreen
\ 0171 ?0017:
164 return 1;
\ 0171 210100 LD HL,1
165 }
\ 0174 ?0018:
\ 0174 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
166 #endif
167
168 #pragma function=default
169
\ 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: 375
Constant size: 3
Static variable size: Data(41) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -