📄 ui_replay.lst
字号:
\ 0099 CD3600 CALL LWRD ?0094
\ 009C F1 POP AF
91 need_draw=FALSE;
\ 009D DD36F600 LD (IX-10),0
92 //flash_state = flash_b(TRUE);
93 }
94 else ASSERT(set_ab == 0);
\ 00A1 ?0009:
\ 00A1 ?0010:
\ 00A1 ?0012:
95
96 while(1)
97 {
98 //show ui
99 if(need_draw)
\ 00A1 AF XOR A
\ 00A2 DDB6F6 OR (IX-10)
\ 00A5 2847 JR Z,?0015
\ 00A7 ?0014:
100 {
101 time_t time;
102
103 ui_draw();
\ 00A7 3E00 LD A,BYTE3 ui_draw
\ 00A9 21B602 LD HL,LWRD ui_draw
\ 00AC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
104 //ui_show_a(MRPLAB);
105 main_ResShowPic(BBCK1,79,20);
\ 00AF 0E14 LD C,20
\ 00B1 C5 PUSH BC
\ 00B2 0E4F LD C,79
\ 00B4 111600 LD DE,22
\ 00B7 CD3600 CALL LWRD ?0094
\ 00BA F1 POP AF
106 //main_ResShowPic(MRPLAB,19,5);
107 //get the playing time
108 voiceSendCommand(MC_GETTIME, (int)&time);
\ 00BB 210800 LD HL,8
\ 00BE 39 ADD HL,SP
\ 00BF 4D LD C,L
\ 00C0 44 LD B,H
\ 00C1 1E80 LD E,128
\ 00C3 CD8502 CALL LWRD ?0097
109 Oldtimesecond=time.second;
\ 00C6 DD46FC LD B,(IX-4)
\ 00C9 DD70F9 LD (IX-7),B
110 time_draw(&time, 0);
\ 00CC 0E00 LD C,0
\ 00CE 210800 LD HL,8
\ 00D1 39 ADD HL,SP
\ 00D2 EB EX DE,HL
\ 00D3 3E00 LD A,BYTE3 time_draw
\ 00D5 210000 LD HL,LWRD time_draw
\ 00D8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
111
112 // SetAsciiFont(FONT_TYPE_SMALL);
113 SetPenColor(Color_BLACK_def);
\ 00DB CD8D02 CALL LWRD ?0098
114 SetBackgdColor(Color_MENU_def);
115 ///-Scroll(g_file_name_time, TRUE,g_comval.langid);
116 ScrollInit(g_file_name_time, g_comval.langid);
\ 00DE 3E00 LD A,BYTE3 ScrollInit
\ 00E0 210000 LD HL,LWRD ScrollInit
\ 00E3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
117
118 need_draw = FALSE;
119 need_draw_ab = TRUE;
\ 00E6 DD36F600 LD (IX-10),0
\ 00EA DD36F701 LD (IX-9),1
\ 00EE ?0015:
120 }
121
122 //show ab icon
123 if(need_draw_ab)
\ 00EE AF XOR A
\ 00EF DDB6F7 OR (IX-9)
\ 00F2 2817 JR Z,?0017
\ 00F4 ?0016:
124 {
125 if(set_ab == 2)// ui_show_a(MVRPLAB);
\ 00F4 DD46F5 LD B,(IX-11)
\ 00F7 05 DEC B
\ 00F8 05 DEC B
\ 00F9 200C JR NZ,?0019
\ 00FB ?0018:
126 main_ResShowPic (MRPLAB,79,20);
\ 00FB 0E14 LD C,20
\ 00FD C5 PUSH BC
\ 00FE 0E4F LD C,79
\ 0100 11D100 LD DE,209
\ 0103 CD3600 CALL LWRD ?0094
\ 0106 F1 POP AF
\ 0107 ?0019:
127 need_draw_ab = FALSE;
\ 0107 DD36F700 LD (IX-9),0
\ 010B ?0017:
128 }
129
130 //handle msg
131 key = ap_get_message();
\ 010B CD0000 CALL LWRD ap_get_message
132 switch( key )
\ 010E 5F LD E,A
\ 010F CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0112 0C00 DEFW 12
\ 0114 03 DEFB 3
\ 0115 04 DEFB 4
\ 0116 1B DEFB 27
\ 0117 1C DEFB 28
\ 0118 1D DEFB 29
\ 0119 21 DEFB 33
\ 011A 25 DEFB 37
\ 011B 26 DEFB 38
\ 011C 30 DEFB 48
\ 011D 31 DEFB 49
\ 011E 43 DEFB 67
\ 011F 44 DEFB 68
\ 0120 2702 DEFW ?0051
\ 0122 6001 DEFW ?0027
\ 0124 6001 DEFW ?0027
\ 0126 3A01 DEFW ?0022
\ 0128 8D01 DEFW ?0033
\ 012A 3A01 DEFW ?0022
\ 012C 4F01 DEFW ?0026
\ 012E 7701 DEFW ?0032
\ 0130 4202 DEFW ?0056
\ 0132 A301 DEFW ?0035
\ 0134 9901 DEFW ?0034
\ 0136 6001 DEFW ?0027
\ 0138 6001 DEFW ?0027
\ 013A ?0021:
133 {
134 //overwrite this hotkey
135 case AP_MSG_STANDBY:
136 //do nothing
137
138 break;
\ 013A ?0022:
139
140
141 case AP_KEY_NEXT | AP_KEY_UP:
142 case AP_KEY_AB | AP_KEY_UP:
143 if(set_ab == 2)
\ 013A DD46F5 LD B,(IX-11)
\ 013D 05 DEC B
\ 013E 05 DEC B
\ 013F 2003 JR NZ,?0024
\ 0141 ?0023:
144 {
145 voiceSendCommand(MC_SETA_B, 0);
\ 0141 48 LD C,B
\ 0142 180E JR ?0091
146 set_ab = 0;
147 }
148 else
\ 0144 ?0024:
149 {
150 voiceSendCommand(MC_SETA_B, 1);
\ 0144 010100 LD BC,1
\ 0147 CD8302 CALL LWRD ?0096
151 set_ab++;
\ 014A DD34F5 INC (IX-11)
\ 014D ?0025:
152 }
153
154 need_draw_ab = TRUE;
\ 014D 180A JR ?0088
155 break;
\ 014F ?0026:
156 case AP_KEY_PREV | AP_KEY_UP:
157 //if(set_ab == 2)
158 {
159 voiceSendCommand(MC_SETA_B, 0);
\ 014F 010000 LD BC,0
\ 0152 ?0091:
\ 0152 CD8302 CALL LWRD ?0096
160 set_ab = 0;
161 }
162
163 need_draw_ab = TRUE;
\ 0155 DD36F500 LD (IX-11),0
\ 0159 ?0088:
\ 0159 DD36F701 LD (IX-9),1
164 break;
\ 015D C34202 JP LWRD ?0056
\ 0160 ?0027:
165 case AP_KEY_VOLADD:
166 case AP_KEY_VOLADD | AP_KEY_HOLD:
167 // g_voice_vars.volume += 2;
168 case AP_KEY_VOLSUB | AP_KEY_HOLD:
169 case AP_KEY_VOLSUB:
170 if( g_card_in_using == TRUE )
\ 0160 3A0000 LD A,(g_card_in_using)
\ 0163 3D DEC A
\ 0164 CA4202 JP Z,?0056
\ 0167 ?0028:
171 break;
\ 0167 ?0029:
172
173 result = show_speed();
\ 0167 3E00 LD A,BYTE3 show_speed
\ 0169 210000 LD HL,LWRD show_speed
\ 016C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
174 if(result != 0) return result;
\ 016F 7D LD A,L
\ 0170 B4 OR H
\ 0171 CA3102 JP Z,?0089
\ 0174 ?0030:
\ 0174 C37902 JP LWRD ?0065
\ 0177 ?0031:
175
176 need_draw = TRUE;
177 break;
\ 0177 ?0032:
178
179
180 case AP_KEY_PLAY | AP_KEY_UP: //exit & pause
181 //ap_set_event(AP_EVENT_PAUSE | AP_EVENT_REDRAW);
182 play_pause = TRUE;
\ 0177 3E01 LD A,1
\ 0179 320000 LD (play_pause),A
183 Cur_Status=2;
\ 017C 3E02 LD A,2
\ 017E 320000 LD (Cur_Status),A
184 main_ResShowPic(PAUSEICN,5,3);
\ 0181 0E03 LD C,3
\ 0183 C5 PUSH BC
\ 0184 0E05 LD C,5
\ 0186 11DE00 LD DE,222
\ 0189 CD3600 CALL LWRD ?0094
\ 018C F1 POP AF
\ 018D ?0033:
185 //lint -fallthrough
186 case AP_KEY_MODE | AP_KEY_UP: //exit
187 voiceSendCommand(MC_SETA_B, 0);
\ 018D 010000 LD BC,0
\ 0190 CD8302 CALL LWRD ?0096
188 //ui_show_e(0); //clear icon
189 return 0;
\ 0193 210000 LD HL,0
190
191
192 case AP_MSG_CHARGING:
\ 0196 C37902 JP LWRD ?0065
\ 0199 ?0034:
193 ui_show_batt(GetBattery(), g_comval.BatteryType,0);
\ 0199 0E00 LD C,0
\ 019B C5 PUSH BC
\ 019C CDA602 CALL LWRD ?0099
\ 019F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01A2 E1 POP HL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -