📄 ui_compare.s01
字号:
LD C,L
LD B,H
LD E,131
CALL LWRD ?0078
; 191.
; 192. if (status_buf.status == PLAYING_REACH_END)
LD A,(IX-8)
CP 6
JR NZ,?0025
?0024:
; 193. {
; 194. wavpSendCommand(MC_STOP, NULL);
LD BC,0
CALL LWRD ?0074
; 195. wavpSendCommand(MC_CLOSE, NULL);
CALL LWRD ?BANK_CALL_DIRECT_L08
; 196. RePlayStatus = CompareAB;
LD A,7
?0058:
LD (RePlayStatus),A
; 197. return NULL;
?0055:
LD HL,0
; 198. }
?0026:
JP LWRD ?BANK_LEAVE_DIRECT_L08
?0025:
; 199. } //while(1)
; 200. } //ui_comparePlay(int)
JP LWRD ?0007
?0073:
LD C,B
?0074:
LD E,6
LD A,BYTE3 wavpSendCommand
LD HL,LWRD wavpSendCommand
CALL LWRD ?BANK_CALL_DIRECT_L08
LD BC,0
LD E,2
LD A,BYTE3 wavpSendCommand
LD HL,LWRD wavpSendCommand
RET
?0075:
CALL LWRD ?BANK_CALL_DIRECT_L08
LD A,BYTE3 OpenMusic
LD HL,LWRD OpenMusic
CALL LWRD ?BANK_CALL_DIRECT_L08
RET
?0076:
LD A,BYTE3 wavpSendCommand
LD HL,LWRD wavpSendCommand
?0077:
CALL LWRD ?BANK_CALL_DIRECT_L08
LD BC,0
RET
?0079:
LD A,1
LD (g_FCexitflag),A
LD A,BYTE3 OpenMusic
LD HL,LWRD OpenMusic
CALL LWRD ?BANK_CALL_DIRECT_L08
XOR A
LD (ui_auto_update),A
LD HL,UpDisplayFlag
LD A,(HL)
OR 193
LD (HL),A
INC HL
LD (HL),255
LD A,1
LD (need_draw),A
RET
?0080:
LD A,BYTE3 Show_time_FC
LD HL,LWRD Show_time_FC
JP LWRD ?BANK_CALL_DIRECT_L08
?0081:
LD A,BYTE3 RefreshMainScreen
LD HL,LWRD RefreshMainScreen
JP LWRD ?BANK_CALL_DIRECT_L08
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. {
CALL LWRD ?ENT_AUTO_DIRECT_L09
DEFW 65520
PUSH IY
; 218. int key;
; 219. wma_play_status_t status_buf;
; 220.
; 221. if (!ReturnNotInit)
LD A,(ReturnNotInit)
OR A
JR NZ,?0028
?0027:
; 222. {
; 223. OpenMusic();
LD A,BYTE3 OpenMusic
LD HL,LWRD OpenMusic
CALL LWRD ?BANK_CALL_DIRECT_L08
?0028:
; 224. }
; 225. ReturnNotInit = FALSE;
XOR A
LD (ReturnNotInit),A
; 226. UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
LD HL,UpDisplayFlag
INC HL
SET 3,(HL)
; 227. need_draw = TRUE;
LD A,1
LD (need_draw),A
?0030:
; 228.
; 229. while (1)
; 230. {
; 231. if (need_draw)
LD A,(need_draw)
OR A
JR Z,?0033
?0032:
; 232. {
; 233. Show_time_FC(); //显示比特率
CALL LWRD ?0080
; 234. RefreshMainScreen();
CALL LWRD ?0081
; 235. need_draw = FALSE;
XOR A
LD (need_draw),A
?0033:
; 236. }
; 237.
; 238. key = ap_get_message();
CALL LWRD ap_get_message
LD C,A
LD B,0
PUSH BC
POP IY
; 239.
; 240. switch (key)
LD E,C
LD D,B
CALL LWRD ?S_V_SWITCH_L06
DEFW 9
DEFW 3
DEFW 4
DEFW 28
DEFW 29
DEFW 33
DEFW 37
DEFW 38
DEFW 48
DEFW 49
DEFW ?0046
DEFW ?0039
DEFW ?0040
DEFW ?0039
DEFW ?0041
DEFW ?0036
DEFW ?0034
DEFW ?0043
DEFW ?0042
DEFW ?0042
?0035:
; 241. {
; 242. case AP_MSG_STANDBY:
; 243. break;
?0036:
; 244.
; 245. case AP_KEY_PLAY | AP_KEY_UP:
; 246. g_result = DealPlayKey();
LD A,BYTE3 DealPlayKey
LD HL,LWRD DealPlayKey
CALL LWRD ?BANK_CALL_DIRECT_L08
LD (g_result),HL
; 247. if (g_result != 0)
LD A,L
OR H
JP NZ,?0054
?0037:
; 248. {
; 249. return g_result;
; 250. }
?0038:
; 251. return RESULT_UI_STOP;
LD HL,102
; 252.
; 253. case AP_KEY_AB | AP_KEY_UP:
JP LWRD ?0054
?0039:
; 254. case AP_KEY_NEXT | AP_KEY_UP:
; 255. RePlayStatus = WaitSetAPointForAB;
LD A,1
JP LWRD ?0065
; 256. return NULL;
; 257.
; 258. case AP_KEY_MODE | AP_KEY_UP:
?0040:
; 259. //musicpSendCommand(MC_SETA_B,0);//clear_ab
; 260. RePlayStatus = NormalPlay;
XOR A
JP LWRD ?0065
; 261. return NULL;
; 262.
; 263. case AP_KEY_PREV | AP_KEY_UP:
?0041:
; 264. ReturnNotInit = TRUE; //要求退回跟读AB时不要初始化
LD A,1
LD (ReturnNotInit),A
; 265. Replaytimes_CNT = 0; //重新开始计复读次数
XOR A
LD (Replaytimes_CNT),A
; 266. RePlayStatus = FollowAB;
LD A,5
JP LWRD ?0065
; 267. return NULL;
; 268.
; 269. case AP_KEY_VOLSUB:
?0042:
; 270. case AP_KEY_VOLADD:
; 271. ChangeVolume();
LD A,BYTE3 ChangeVolume
LD HL,LWRD ChangeVolume
CALL LWRD ?BANK_CALL_DIRECT_L08
; 272. // SetFullInterface();
; 273. need_draw = TRUE;
JR ?0068
; 274. break;
?0043:
; 275.
; 276. case AP_MSG_RTC:
; 277.
; 278. {
; 279. Full_time_t time_buf;
; 280. if(musicpSendCommand(MC_GETTIME, (int)& time_buf))
LD HL,12
ADD HL,SP
LD C,L
LD B,H
LD E,128
LD A,BYTE3 musicpSendCommand
LD HL,LWRD musicpSendCommand
CALL LWRD ?BANK_CALL_DIRECT_L08
INC L
DEC L
JR Z,?0045
?0044:
; 281. {
; 282. g_music_vars.BreakPTDisTime.hour = time_buf.TimeHour;
LD A,(IX-2)
LD (g_music_vars+75),A
; 283. g_music_vars.BreakPTDisTime.minute = time_buf.TimeMinute;
LD A,(IX-3)
LD (g_music_vars+76),A
; 284. g_music_vars.BreakPTDisTime.second = time_buf.TimeSecond;
LD B,(IX-4)
LD A,B
LD (g_music_vars+77),A
; 285. ShowNowTime(TRUE);
LD E,1
LD A,BYTE3 ShowNowTime
LD HL,LWRD ShowNowTime
CALL LWRD ?BANK_CALL_DIRECT_L08
?0045:
; 286. }
; 287. ui_show_batt( GetBattery(), g_comval.BatteryType,0);
LD C,0
PUSH BC
LD BC,(g_comval+15)
CALL LWRD GetBattery
LD E,A
LD D,0
LD A,BYTE3 ui_show_batt
LD HL,LWRD ui_show_batt
CALL LWRD ?BANK_CALL_DIRECT_L08
POP HL
; 288. break;
JR ?0034
?0046:
; 289. }
; 290. // UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime | up_musicbattery;
; 291. // need_draw = TRUE;
; 292. //break;
; 293.
; 294. default:
; 295. key = ap_handle_hotkey(key);
PUSH IY
POP HL
LD E,L
CALL LWRD ap_handle_hotkey
LD C,A
PUSH BC
POP IY
; 296. if (key == RESULT_REDRAW)
LD A,50
XOR C
JR NZ,?0048
?0047:
; 297. {
; 298. //ui_auto_update = TRUE;
; 299. SetFullInterface();
LD (ui_auto_update),A
LD HL,UpDisplayFlag
LD A,(HL)
OR 193
LD (HL),A
INC HL
LD (HL),255
; 300. need_draw = TRUE;
?0068:
LD A,1
LD (need_draw),A
JR ?0034
?0048:
; 301. // return_to_play=1;
; 302. }
; 303. else if(key != 0) return key;
PUSH IY
POP HL
LD A,L
OR H
JR NZ,?0054
?0050:
; 304. break;
?0051:
?0049:
?0034:
; 305. } //switch(key)
; 306.
; 307. musicpSendCommand(MC_GETSTATUS, (int)& status_buf);
LD HL,4
ADD HL,SP
LD C,L
LD B,H
LD E,131
LD A,BYTE3 musicpSendCommand
LD HL,LWRD musicpSendCommand
CALL LWRD ?BANK_CALL_DIRECT_L08
; 308. if (status_buf.signal == SIGNAL_REACH_B)
LD B,(IX-13)
DEC B
DEC B
JR NZ,?0053
?0052:
; 309. {
; 310. Show_time_FC(); //显示比特率
CALL LWRD ?0080
; 311. RefreshMainScreen();
CALL LWRD ?0081
; 312. need_draw = FALSE;
XOR A
LD (need_draw),A
; 313.
; 314. musicpSendCommand(MC_STOP, NULL);
LD C,B
LD E,6
LD A,BYTE3 musicpSendCommand
LD HL,LWRD musicpSendCommand
CALL LWRD ?0077
; 315. musicpSendCommand(MC_CLOSE, NULL);
LD E,2
LD A,BYTE3 musicpSendCommand
LD HL,LWRD musicpSendCommand
CALL LWRD ?BANK_CALL_DIRECT_L08
; 316. RePlayStatus = ComparePlay;
LD A,6
?0065:
LD (RePlayStatus),A
; 317. return NULL;
LD HL,0
; 318. }
?0054:
POP IY
JP LWRD ?BANK_LEAVE_DIRECT_L08
?0053:
; 319. } //while(1)
; 320. } //ui_compareAB
JP LWRD ?0030
RSEG CSTR
?0005:
DEFB '$$TEMP$$WAV'
DEFB 0
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -