📄 ui_replay.lst
字号:
\ 01A3 ?0035:
194 //lint -fallthrough
195 case AP_MSG_RTC:
196 if(g_comval.EarProtect_flag)
\ 01A3 3A1800 LD A,(g_comval+24)
\ 01A6 B7 OR A
\ 01A7 2814 JR Z,?0039
\ 01A9 ?0036:
197 {
198 g_voice_vars.volume = input8(0x87)&0x1f;
\ 01A9 DB87 IN A,(135)
\ 01AB E61F AND 31
\ 01AD 320200 LD (g_voice_vars+2),A
199 ///-ui_show_vol(g_voice_vars.volume);
200 if(g_volcounter>0)
\ 01B0 3A0000 LD A,(g_volcounter)
\ 01B3 B7 OR A
\ 01B4 2807 JR Z,?0039
\ 01B6 ?0038:
201 main_ResShowPic(VOL_00+g_voice_vars.volume,0,106);
\ 01B6 0E6A LD C,106
\ 01B8 C5 PUSH BC
\ 01B9 CD2A00 CALL LWRD ?0095
\ 01BC F1 POP AF
\ 01BD ?0039:
\ 01BD ?0037:
202 }
203 ui_show_batt(GetBattery(), g_comval.BatteryType,0);
\ 01BD 0E00 LD C,0
\ 01BF C5 PUSH BC
\ 01C0 CDA602 CALL LWRD ?0099
\ 01C3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01C6 E1 POP HL
204
205 {
206 time_t time;
207
208 //get the playing time
209 voiceSendCommand(MC_GETTIME, (int)&time);
\ 01C7 210800 LD HL,8
\ 01CA 39 ADD HL,SP
\ 01CB 4D LD C,L
\ 01CC 44 LD B,H
\ 01CD 1E80 LD E,128
\ 01CF CD8502 CALL LWRD ?0097
210 if(time.second!=Oldtimesecond)
\ 01D2 DD7EFC LD A,(IX-4)
\ 01D5 DDBEF9 CP (IX-7)
\ 01D8 2815 JR Z,?0041
\ 01DA ?0040:
211 {
212 time_draw(&time,1);
\ 01DA 0E01 LD C,1
\ 01DC 210800 LD HL,8
\ 01DF 39 ADD HL,SP
\ 01E0 EB EX DE,HL
\ 01E1 3E00 LD A,BYTE3 time_draw
\ 01E3 210000 LD HL,LWRD time_draw
\ 01E6 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
213 Oldtimesecond=time.second;
\ 01E9 DD46FC LD B,(IX-4)
\ 01EC DD70F9 LD (IX-7),B
\ 01EF ?0041:
214 }
215 //scroll the title
216 ///-SetTextOutMode(0);
217 SetPenColor(Color_BLACK_def);
\ 01EF CD8D02 CALL LWRD ?0098
218 SetBackgdColor(Color_MENU_def);
219 ///-Scroll(g_file_name_time, FALSE,g_comval.langid);
220 Scroll(g_file_name_time, g_comval.langid);
\ 01F2 3E00 LD A,BYTE3 Scroll
\ 01F4 210000 LD HL,LWRD Scroll
\ 01F7 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
221 // SetAsciiFont(FONT_TYPE_DEFAULT);
222 // UpdateScreen(®ion_msg);
223 ///-SetTextOutMode(1);
224 //show position e
225 if(set_ab == 0) flash_state = flash_a(flash_state);
\ 01FA AF XOR A
\ 01FB DDB6F5 OR (IX-11)
\ 01FE 200A JR NZ,?0043
\ 0200 ?0042:
\ 0200 DD5EF8 LD E,(IX-8)
\ 0203 3E00 LD A,BYTE3 flash_a
\ 0205 210000 LD HL,LWRD flash_a
\ 0208 180C JR ?0087
\ 020A ?0043:
226 else if(set_ab == 1) flash_state = flash_b(flash_state);
\ 020A 47 LD B,A
\ 020B 05 DEC B
\ 020C 2010 JR NZ,?0046
\ 020E ?0045:
\ 020E DD5EF8 LD E,(IX-8)
\ 0211 3E00 LD A,BYTE3 flash_b
\ 0213 213E00 LD HL,LWRD flash_b
\ 0216 ?0087:
\ 0216 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0219 DD75F8 LD (IX-8),L
\ 021C 1824 JR ?0056
\ 021E ?0046:
227 else if(set_ab == 2) ; //do nothing
\ 021E DD46F5 LD B,(IX-11)
\ 0221 05 DEC B
\ 0222 05 DEC B
\ 0223 201D JR NZ,?0056
\ 0225 ?0048:
228 else ASSERT(FALSE);
\ 0225 ?0049:
\ 0225 ?0050:
\ 0225 ?0047:
\ 0225 ?0044:
229 }
230 break;
\ 0225 181B JR ?0056
\ 0227 ?0051:
231
232 default:
233 key = ap_handle_hotkey(key);
\ 0227 CD0000 CALL LWRD ap_handle_hotkey
\ 022A DD77F4 LD (IX-12),A
234 if(key == RESULT_REDRAW) need_draw = TRUE;
\ 022D FE32 CP 50
\ 022F 2006 JR NZ,?0053
\ 0231 ?0052:
\ 0231 ?0089:
\ 0231 DD36F601 LD (IX-10),1
\ 0235 180B JR ?0056
\ 0237 ?0053:
235 else if(key != 0) return key;
\ 0237 AF XOR A
\ 0238 DDB6F4 OR (IX-12)
\ 023B 2805 JR Z,?0056
\ 023D ?0055:
\ 023D 6F LD L,A
\ 023E 2600 LD H,0
236 }
\ 0240 1837 JR ?0065
\ 0242 ?0056:
\ 0242 ?0054:
\ 0242 ?0020:
237
238 //pooling if play end or error
239 voiceSendCommand(MC_GETSTATUS, (int)&g_play_status);
\ 0242 010000 LD BC,g_play_status
\ 0245 1E83 LD E,131
\ 0247 CD8502 CALL LWRD ?0097
240 if(g_play_status.state == PLAYING_REACH_END ||
241 g_play_status.state== PLAYING_ERROR)
\ 024A 3A0000 LD A,(g_play_status)
\ 024D FE06 CP 6
\ 024F 2805 JR Z,?0059
\ 0251 FE0C CP 12
\ 0253 C2A100 JP NZ,?0009
\ 0256 ?0059:
\ 0256 ?0060:
\ 0256 ?0057:
242 {
243 DUMP_STRING("play end!");
244 if(g_card_in_using == TRUE)
\ 0256 3A0000 LD A,(g_card_in_using)
\ 0259 3D DEC A
\ 025A 201A JR NZ,?0064
\ 025C ?0061:
245 {
246 result = DRV_DetectUD(1); //检查是否有卡
\ 025C 1E01 LD E,1
\ 025E CD0000 CALL LWRD DRV_DetectUD
\ 0261 4F LD C,A
247 if(result != 0x20)
\ 0262 3E20 LD A,32
\ 0264 A9 XOR C
\ 0265 280F JR Z,?0064
\ 0267 ?0063:
248 {
249 g_voice_vars.location.disk = 'C';
\ 0267 3E43 LD A,67
\ 0269 320600 LD (g_voice_vars+6),A
250 g_voice_vars.location.path[0] = ':';
\ 026C 3E3A LD A,58
\ 026E 321400 LD (g_voice_vars+20),A
251 need_sel_file = TRUE;
\ 0271 3E01 LD A,1
\ 0273 320000 LD (need_sel_file),A
252 return RESULT_END;
253 }
\ 0276 ?0064:
\ 0276 ?0062:
254 }
255 //在这里显示时间会导致复读图标刷新不完全 pr/1022
256
257
258
259 return RESULT_END;
\ 0276 216500 LD HL,101
260 }
\ 0279 ?0065:
\ 0279 DDF9 LD SP,IX
\ 027B DDE1 POP IX
\ 027D FDE1 POP IY
\ 027F C1 POP BC
\ 0280 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0283 ?0096:
\ 0283 1E41 LD E,65
\ 0285 ?0097:
\ 0285 3E00 LD A,BYTE3 voiceSendCommand
\ 0287 210000 LD HL,LWRD voiceSendCommand
\ 028A C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 028D ?0098:
\ 028D 010000 LD BC,0
\ 0290 59 LD E,C
\ 0291 50 LD D,B
\ 0292 CD0000 CALL LWRD SetPenColor
\ 0295 010000 LD BC,0
\ 0298 11FFFF LD DE,65535
\ 029B CD0000 CALL LWRD SetBackgdColor
\ 029E ED4B0C00 LD BC,(g_comval+12)
\ 02A2 110000 LD DE,g_file_name_time
\ 02A5 C9 RET
\ 02A6 ?0099:
\ 02A6 ED4B0F00 LD BC,(g_comval+15)
\ 02AA CD0000 CALL LWRD GetBattery
\ 02AD 5F LD E,A
\ 02AE 1600 LD D,0
\ 02B0 3E00 LD A,BYTE3 ui_show_batt
\ 02B2 210000 LD HL,LWRD ui_show_batt
\ 02B5 C9 RET
\ 02B6 ?0058:
261
262 }//while(1)
263
264 }
\ 02B6 ui_draw:
265
266 /*
267 ********************************************************************************
268 * Description : 画界面的公用部分A,B,C,D,F1,BATT
269 *
270 * Arguments :
271 *
272 * Returns :
273 *
274 * Notes : 不刷新屏幕
275 *
276 ********************************************************************************
277 */
278
279 void ui_draw(void)
280 {
\ 02B6 C5 PUSH BC
\ 02B7 D5 PUSH DE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -