📄 ui_compare.lst
字号:
119 SetFullInterface();
\ 00C2 AF XOR A
\ 00C3 180A JR ?0059
120 return NULL;
121
122 case AP_KEY_MODE | AP_KEY_UP:
\ 00C5 ?0015:
123 //fade_out();
124 wavpSendCommand(MC_STOP, NULL);
\ 00C5 CD6A01 CALL LWRD ?0073
125 wavpSendCommand(MC_CLOSE, NULL);
\ 00C8 CD8001 CALL LWRD ?0075
126 OpenMusic();
127 RePlayStatus = NormalPlay;
\ 00CB AF XOR A
\ 00CC 320000 LD (RePlayStatus),A
128 SetFullInterface();
\ 00CF ?0059:
\ 00CF 320000 LD (ui_auto_update),A
\ 00D2 210000 LD HL,UpDisplayFlag
\ 00D5 7E LD A,(HL)
\ 00D6 F6C1 OR 193
\ 00D8 77 LD (HL),A
\ 00D9 23 INC HL
\ 00DA 36FF LD (HL),255
129 return NULL;
\ 00DC C36101 JP LWRD ?0055
130
131 case AP_KEY_PREV | AP_KEY_UP:
\ 00DF ?0016:
132 //fade_out();
133 wavpSendCommand(MC_STOP, NULL);
\ 00DF CD6A01 CALL LWRD ?0073
134 wavpSendCommand(MC_CLOSE, NULL);
\ 00E2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
135 Replaytimes_CNT = 0; //重新开始计复读次数
\ 00E5 AF XOR A
\ 00E6 320000 LD (Replaytimes_CNT),A
136 RePlayStatus = FollowAB;
\ 00E9 3E05 LD A,5
\ 00EB 1871 JR ?0058
137 return NULL;
138
139 case AP_MSG_RTC:
\ 00ED ?0017:
140
141
142 UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime;
\ 00ED 210000 LD HL,UpDisplayFlag
\ 00F0 23 INC HL
\ 00F1 CBCE SET 1,(HL)
143 Show_time_FC();
\ 00F3 CDB901 CALL LWRD ?0080
144 ui_show_batt( GetBattery(), g_comval.BatteryType,0);
\ 00F6 48 LD C,B
\ 00F7 C5 PUSH BC
\ 00F8 ED4B0F00 LD BC,(g_comval+15)
\ 00FC CD0000 CALL LWRD GetBattery
\ 00FF 5F LD E,A
\ 0100 3E00 LD A,BYTE3 ui_show_batt
\ 0102 210000 LD HL,LWRD ui_show_batt
\ 0105 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0108 E1 POP HL
145 break;
\ 0109 1836 JR ?0011
\ 010B ?0018:
146
147
148 default:
149 key = ap_handle_hotkey(key);
\ 010B 59 LD E,C
\ 010C CD0000 CALL LWRD ap_handle_hotkey
\ 010F 4F LD C,A
\ 0110 DD71F6 LD (IX-10),C
150 if (key == RESULT_REDRAW)
\ 0113 3E32 LD A,50
\ 0115 A9 XOR C
\ 0116 2014 JR NZ,?0020
\ 0118 ?0019:
151 {
152 //ui_auto_update = TRUE;
153 SetFullInterface();
\ 0118 320000 LD (ui_auto_update),A
\ 011B 210000 LD HL,UpDisplayFlag
\ 011E 7E LD A,(HL)
\ 011F F6C1 OR 193
\ 0121 77 LD (HL),A
\ 0122 23 INC HL
\ 0123 36FF LD (HL),255
154 need_draw = TRUE;
\ 0125 3E01 LD A,1
\ 0127 320000 LD (need_draw),A
\ 012A 1815 JR ?0011
\ 012C ?0020:
155 // return_to_play=1;
156 }
157 else if (key != 0)
\ 012C 79 LD A,C
\ 012D B7 OR A
\ 012E 2811 JR Z,?0011
\ 0130 ?0022:
158 {
159 // fade_out();
160 wavpSendCommand(MC_STOP, NULL);
\ 0130 CD6A01 CALL LWRD ?0073
161 wavpSendCommand(MC_CLOSE, NULL);
\ 0133 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
162
163 /*
164 //************
165 //注:因为这里退出时外面要淡出,所以会发出声音,
166 //这里把音量设为0就相当于不淡出,这只是权余之计
167 //以后希望能改掉
168 SetPAVolume(0);
169
170 //由于在MC_PLAY命令中用这个标志来判断是否要设音量,这里送
171 //个非0就是为了认音量为0,从而在开始放MUSIC后不送出声音
172 g_FadeInStatusFlag = 2;
173 OpenMusic();
174 g_FadeInStatusFlag = 0;
175
176 ClosePA();
177 //!!!!!!!!!!!!!!!
178 */
179 g_FCexitflag = TRUE;
180 OpenMusic();
\ 0136 CD9801 CALL LWRD ?0079
181 //musicpSendCommand(MC_SETVOLUME, 0); //让音量为0,这可在淡出时没声
182
183 SetFullInterface();
184 need_draw = TRUE;
185 return key;
\ 0139 DD6EF6 LD L,(IX-10)
\ 013C DD66F7 LD H,(IX-9)
186 }
\ 013F 1823 JR ?0026
\ 0141 ?0023:
\ 0141 ?0021:
187 break;
\ 0141 ?0011:
188 } //switch(key)
189
190 wavpSendCommand(MC_GETSTATUS, (int)& status_buf);
\ 0141 210200 LD HL,2
\ 0144 39 ADD HL,SP
\ 0145 4D LD C,L
\ 0146 44 LD B,H
\ 0147 1E83 LD E,131
\ 0149 CD1E00 CALL LWRD ?0078
191
192 if (status_buf.status == PLAYING_REACH_END)
\ 014C DD7EF8 LD A,(IX-8)
\ 014F FE06 CP 6
\ 0151 2014 JR NZ,?0025
\ 0153 ?0024:
193 {
194 wavpSendCommand(MC_STOP, NULL);
\ 0153 010000 LD BC,0
\ 0156 CD6B01 CALL LWRD ?0074
195 wavpSendCommand(MC_CLOSE, NULL);
\ 0159 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
196 RePlayStatus = CompareAB;
\ 015C 3E07 LD A,7
\ 015E ?0058:
\ 015E 320000 LD (RePlayStatus),A
197 return NULL;
\ 0161 ?0055:
\ 0161 210000 LD HL,0
198 }
\ 0164 ?0026:
\ 0164 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0167 ?0025:
199 } //while(1)
200 } //ui_comparePlay(int)
\ 0167 C36200 JP LWRD ?0007
\ 016A ?0073:
\ 016A 48 LD C,B
\ 016B ?0074:
\ 016B 1E06 LD E,6
\ 016D 3E00 LD A,BYTE3 wavpSendCommand
\ 016F 210000 LD HL,LWRD wavpSendCommand
\ 0172 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0175 010000 LD BC,0
\ 0178 1E02 LD E,2
\ 017A 3E00 LD A,BYTE3 wavpSendCommand
\ 017C 210000 LD HL,LWRD wavpSendCommand
\ 017F C9 RET
\ 0180 ?0075:
\ 0180 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0183 3E00 LD A,BYTE3 OpenMusic
\ 0185 210000 LD HL,LWRD OpenMusic
\ 0188 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 018B C9 RET
\ 018C ?0076:
\ 018C 3E00 LD A,BYTE3 wavpSendCommand
\ 018E 210000 LD HL,LWRD wavpSendCommand
\ 0191 ?0077:
\ 0191 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0194 010000 LD BC,0
\ 0197 C9 RET
\ 0198 ?0079:
\ 0198 3E01 LD A,1
\ 019A 320000 LD (g_FCexitflag),A
\ 019D 3E00 LD A,BYTE3 OpenMusic
\ 019F 210000 LD HL,LWRD OpenMusic
\ 01A2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01A5 AF XOR A
\ 01A6 320000 LD (ui_auto_update),A
\ 01A9 210000 LD HL,UpDisplayFlag
\ 01AC 7E LD A,(HL)
\ 01AD F6C1 OR 193
\ 01AF 77 LD (HL),A
\ 01B0 23 INC HL
\ 01B1 36FF LD (HL),255
\ 01B3 3E01 LD A,1
\ 01B5 320000 LD (need_draw),A
\ 01B8 C9 RET
\ 01B9 ?0080:
\ 01B9 3E00 LD A,BYTE3 Show_time_FC
\ 01BB 210000 LD HL,LWRD Show_time_FC
\ 01BE C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 01C1 ?0081:
\ 01C1 3E00 LD A,BYTE3 RefreshMainScreen
\ 01C3 210000 LD HL,LWRD RefreshMainScreen
\ 01C6 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 01C9 ui_compareAB:
201
202 /*
203 ********************************************************************************
204 * int ui_compareAB( void )
205 *
206 * Description : 对比--------对比音乐播放子状态
207 *
208 * Arguments : void
209 *
210 * Returns : int
211 *
212 * Notes : 在此状态下,按play到stop状态;按mode到play;按PREV到跟读状态;
213 *
214 ********************************************************************************
215 */
216 int ui_compareAB( void )
217 {
\ 01C9 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 01CC F0FF DEFW 65520
\ 01CE FDE5 PUSH IY
218 int key;
219 wma_play_status_t status_buf;
220
221 if (!ReturnNotInit)
\ 01D0 3A0000 LD A,(ReturnNotInit)
\ 01D3 B7 OR A
\ 01D4 2008 JR NZ,?0028
\ 01D6 ?0027:
222 {
223 OpenMusic();
\ 01D6 3E00 LD A,BYTE3 OpenMusic
\ 01D8 210000 LD HL,LWRD OpenMusic
\ 01DB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01DE ?0028:
224 }
225 ReturnNotInit = FALSE;
\ 01DE AF XOR A
\ 01DF 320000 LD (ReturnNotInit),A
226 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
\ 01E2 210000 LD HL,UpDisplayFlag
\ 01E5 23 INC HL
\ 01E6 CBDE SET 3,(HL)
227 need_draw = TRUE;
\ 01E8 3E01 LD A,1
\ 01EA 320000 LD (need_draw),A
\ 01ED ?0030:
228
229 while (1)
230 {
231 if (need_draw)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -