📄 ui_play.lst
字号:
\ 0241 7D LD A,L
\ 0242 C608 ADD A,8
\ 0244 4F LD C,A
\ 0245 119B00 LD DE,155
\ 0248 CDCC02 CALL LWRD ?0227
\ 024B F1 POP AF
157 }
\ 024C FD23 INC IY
\ 024E 18D8 JR ?0029
\ 0250 ?0028:
\ 0250 ?0027:
158 }
159 else
\ 0250 ?0025:
160 {
161 if (num < numsave) num = numsave;
\ 0250 ED4B0000 LD BC,(numsave)
\ 0254 DD6EE8 LD L,(IX-24)
\ 0257 DD66E9 LD H,(IX-23)
\ 025A F680 OR 128
\ 025C ED42 SBC HL,BC
\ 025E E26202 JP PO,?0188
\ 0261 AC XOR H
\ 0262 ?0188:
\ 0262 F26B02 JP P,?0034
\ 0265 ?0033:
\ 0265 DD71E8 LD (IX-24),C
\ 0268 DD70E9 LD (IX-23),B
\ 026B ?0034:
162
163 if(g_volcounter==0)
\ 026B 3A0200 LD A,(g_volcounter)
\ 026E B7 OR A
\ 026F 202D JR NZ,?0037
\ 0271 ?0035:
164 {
165 for(i=numsave;i<num;i++)
\ 0271 FD2A0000 LD IY,(numsave)
\ 0275 ?0038:
\ 0275 DD4EE8 LD C,(IX-24)
\ 0278 DD46E9 LD B,(IX-23)
\ 027B FDE5 PUSH IY
\ 027D E1 POP HL
\ 027E F680 OR 128
\ 0280 ED42 SBC HL,BC
\ 0282 E28602 JP PO,?0189
\ 0285 AC XOR H
\ 0286 ?0189:
\ 0286 F29E02 JP P,?0037
\ 0289 ?0039:
166 main_ResShowPic(GUAGE1,8+i,109);
\ 0289 0E6D LD C,109
\ 028B C5 PUSH BC
\ 028C FDE5 PUSH IY
\ 028E E1 POP HL
\ 028F 7D LD A,L
\ 0290 C608 ADD A,8
\ 0292 4F LD C,A
\ 0293 119900 LD DE,153
\ 0296 CDCC02 CALL LWRD ?0227
\ 0299 F1 POP AF
167 }
\ 029A FD23 INC IY
\ 029C 18D7 JR ?0038
\ 029E ?0037:
\ 029E ?0036:
\ 029E ?0032:
\ 029E ?0023:
168 }
169 }
170 numsave=num;
\ 029E DD6EE8 LD L,(IX-24)
\ 02A1 DD66E9 LD H,(IX-23)
\ 02A4 220000 LD (numsave),HL
171 }
\ 02A7 DDF9 LD SP,IX
\ 02A9 DDE1 POP IX
\ 02AB FDE1 POP IY
\ 02AD C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 02B0 ?0223:
\ 02B0 5E LD E,(HL)
\ 02B1 ?0224:
\ 02B1 3E00 LD A,BYTE3 itoa_2
\ 02B3 210000 LD HL,LWRD itoa_2
\ 02B6 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02B9 110000 LD DE,?0014
\ 02BC 210A00 LD HL,10
\ 02BF C9 RET
\ 02C0 ?0228:
\ 02C0 0E00 LD C,0
\ 02C2 ED5B0200 LD DE,(g_voice_vars+2)
\ 02C6 51 LD D,C
\ 02C7 211901 LD HL,281
\ 02CA 19 ADD HL,DE
\ 02CB EB EX DE,HL
\ 02CC ?0227:
\ 02CC 3E00 LD A,BYTE3 main_ResShowPic
\ 02CE 210000 LD HL,LWRD main_ResShowPic
\ 02D1 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 02D4 fade_in:
172
173 /*
174 ********************************************************************************
175 * Description : 淡入
176 *
177 * Arguments : to_volume, 淡入目标音量
178 *
179 * Returns :
180 true: play ok
181 false: play ended
182 *
183 * Notes :
184 *
185 ********************************************************************************
186 */
187 BOOL fade_in(BYTE to_volume)
188 {
\ 02D4 C5 PUSH BC
\ 02D5 D5 PUSH DE
189 wavpSendCommand(MC_FADEIN, 0);
\ 02D6 010000 LD BC,0
\ 02D9 1E0E LD E,14
\ 02DB 3E00 LD A,BYTE3 wavpSendCommand
\ 02DD 210000 LD HL,LWRD wavpSendCommand
\ 02E0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
190
191 return TRUE;
\ 02E3 2E01 LD L,1
192 }
\ 02E5 F1 POP AF
\ 02E6 C1 POP BC
\ 02E7 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 02EA fade_out:
193
194 /*
195 ********************************************************************************
196 * Description : 淡出
197 *
198 * Arguments : cur_volume, 当前音量
199 *
200 * Returns :
201 true: play ok
202 false: play ended
203 *
204 * Notes :
205 *
206 ********************************************************************************
207 */
208 BOOL fade_out(BYTE cur_volume)
209 {
\ 02EA C5 PUSH BC
\ 02EB D5 PUSH DE
\ 02EC F5 PUSH AF
\ 02ED F5 PUSH AF
\ 02EE F5 PUSH AF
\ 02EF ?0042:
210 int delay; //delay count
211 time_t time;
212 BOOL status;
213
214 while(!(status = wavpSendCommand(MC_FADEOUT, 0)))
\ 02EF 010000 LD BC,0
\ 02F2 1E0F LD E,15
\ 02F4 3E00 LD A,BYTE3 wavpSendCommand
\ 02F6 210000 LD HL,LWRD wavpSendCommand
\ 02F9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02FC E5 PUSH HL
\ 02FD C1 POP BC
\ 02FE 0C INC C
\ 02FF 0D DEC C
\ 0300 202C JR NZ,?0041
\ 0302 ?0043:
215 {
216 //show current time
217 voiceSendCommand(MC_GETTIME, (int)&time);
\ 0302 69 LD L,C
\ 0303 61 LD H,C
\ 0304 39 ADD HL,SP
\ 0305 CD2100 CALL LWRD ?0222
218 time_draw(&time, 1);
\ 0308 0E01 LD C,1
\ 030A 210000 LD HL,0
\ 030D 39 ADD HL,SP
\ 030E CD3803 CALL LWRD ?0225
219 output8(0x4e,input8(0x4e)|0x8);
\ 0311 DB4E IN A,(78)
\ 0313 CBDF SET 3,A
\ 0315 D34E OUT (78),A
220
221 voiceSendCommand(MC_GETSTATUS, (int)&g_play_status);
\ 0317 010000 LD BC,g_play_status
\ 031A 1E83 LD E,131
\ 031C CD2500 CALL LWRD ?0221
222 if(g_play_status.state == PLAYING_REACH_END ||
223 g_play_status.state == PLAYING_ERROR)
\ 031F 3A0000 LD A,(g_play_status)
\ 0322 FE06 CP 6
\ 0324 2804 JR Z,?0046
\ 0326 FE0C CP 12
\ 0328 20C5 JR NZ,?0042
\ 032A ?0046:
\ 032A ?0047:
\ 032A ?0044:
224 {
225 return FALSE;
\ 032A 2E00 LD L,0
226 }
\ 032C 1802 JR ?0048
\ 032E ?0045:
\ 032E ?0041:
227 }
228 return TRUE;
\ 032E 2E01 LD L,1
229
230 }
\ 0330 ?0048:
\ 0330 F1 POP AF
\ 0331 F1 POP AF
\ 0332 F1 POP AF
\ 0333 F1 POP AF
\ 0334 C1 POP BC
\ 0335 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0338 ?0225:
\ 0338 EB EX DE,HL
\ 0339 ?0226:
\ 0339 3E00 LD A,BYTE3 time_draw
\ 033B 215600 LD HL,LWRD time_draw
\ 033E C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0341 show_play_menu_flash:
231
232 /*
233 ********************************************************************************
234 * Description : 播放菜单界面
235 *
236 * Arguments :
237 *
238 * Returns :
239 *
240 * Notes : 这里可能进入其他界面 ,flash
241 *
242 ********************************************************************************
243 */
244 int show_play_menu_flash(void)
245 {
\ 0341 C5 PUSH BC
\ 0342 D5 PUSH DE
\ 0343 DDE5 PUSH IX
246 int result;
247 static char active=0; //保持选中菜单的序号
248
249 //show ui
250 list.headid = PLAYMENU;
\ 0345 21A001 LD HL,416
\ 0348 220600 LD (list+6),HL
251 list.active = active;
\ 034B ED4B0400 LD BC,(?0049)
\ 034F 0600 LD B,0
\ 0351 ED430400 LD (list+4),BC
252 list.total = 4;
\ 0355 210400 LD HL,4
\ 0358 220200 LD (list+2),HL
253 list.strid = play_string;
\ 035B 210000 LD HL,play_string
\ 035E 220000 LD (list),HL
254 list.string_id = g_comval.langid;
\ 0361 3A0C00 LD A,(g_comval+12)
\ 0364 320800 LD (list+8),A
255
256 ui_auto_update = FALSE;
\ 0367 AF XOR A
\ 0368 320000 LD (ui_auto_update),A
257 result = ui_popup_list(&list, NULL);
\ 036B 48 LD C,B
\ 036C C5 PUSH BC
\ 036D C5 PUSH BC
\ 036E 110000 LD DE,list
\ 0371 3E00 LD A,BYTE3 ui_popup_list
\ 0373 210000 LD HL,LWRD ui_popup_list
\ 0376 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0379 F1 POP AF
\ 037A F1 POP AF
\ 037B E5 PUSH HL
\ 037C DDE1 POP IX
258 ui_auto_update = TRUE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -