📄 ui_stop.s01
字号:
OR A
JR Z,?0041
?0040:
; 149. {
; 150. RefreshMainScreen();
LD A,BYTE3 RefreshMainScreen
LD HL,LWRD RefreshMainScreen
CALL LWRD ?BANK_CALL_DIRECT_L08
; 151. need_draw = FALSE;
XOR A
LD (need_draw),A
?0041:
; 152. }
; 153.
; 154. switch (key)
LD E,(IX-7)
CALL LWRD ?C_V_SWITCH_L06
DEFW 14
DEFB 5
DEFB 6
DEFB 16
DEFB 28
DEFB 33
DEFB 37
DEFB 38
DEFB 48
DEFB 50
DEFB 55
DEFB 56
DEFB 69
DEFB 70
DEFB 129
DEFW ?0128
DEFW ?0046
DEFW ?0118
DEFW ?0108
DEFW ?0042
DEFW ?0124
DEFW ?0042
DEFW ?0097
DEFW ?0114
DEFW ?0104
DEFW ?0047
DEFW ?0043
DEFW ?0096
DEFW ?0118
DEFW ?0108
?0043:
; 155. {
; 156. case AP_MSG_RTC:
; 157. if (!CaltimeFlag)
LD A,(CaltimeFlag)
OR A
JR NZ,?0045
?0044:
; 158. {
; 159. WaitForCaltimeCNT++;
LD HL,WaitForCaltimeCNT
INC (HL)
?0045:
; 160. }
; 161. break;
JP LWRD ?0042
?0046:
; 162.
; 163. case AP_KEY_PLAY | AP_KEY_LONG:
; 164. return RESULT_STANDBY;
LD HL,2
; 165. break;
JP LWRD ?0140
?0047:
?0049:
; 166.
; 167. case AP_KEY_PLAY | AP_KEY_UP:
; 168. while(ap_get_message()!=NULL); //clear rtc message.
CALL LWRD ap_get_message
OR A
JR NZ,?0047
?0050:
?0048:
; 169. if (CaltimeFlag || ifSelBuffToltalTimeFlag)
LD A,(CaltimeFlag)
OR A
JR NZ,?0053
LD A,(ifSelBuffToltalTimeFlag)
OR A
JR Z,?0056
?0053:
?0054:
?0051:
; 170. {
; 171. musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
LD HL,2
ADD HL,SP
LD C,L
LD B,H
LD E,131
CALL LWRD ?0177
; 172. if (status_buf.status == PLAYING_ERROR)
LD A,(IX-26)
CP 12
JR NZ,?0056
?0055:
; 173. {
; 174. g_music_vars.BreakPTDisTime.hour = 0;
XOR A
LD (g_music_vars+77),A
; 175. g_music_vars.BreakPTDisTime.minute = 0;
LD (g_music_vars+78),A
; 176. g_music_vars.BreakPTDisTime.second = 0;
LD (g_music_vars+79),A
?0056:
?0052:
; 177. }
; 178. }
; 179.
; 180. musicpSendCommand(MC_RESTORE, NULL);
LD BC,0
LD E,69
CALL LWRD ?0177
; 181.
; 182. musicpSendCommand(MC_SETPOWERCOUNT, 5); //set power out level count=2^4=16
LD BC,5
LD E,89
CALL LWRD ?0177
; 183.
; 184. if (g_music_vars.MusicOpenMod == Nor_open)
LD A,(g_music_vars+6)
OR A
JR NZ,?0058
?0057:
; 185. {
; 186. StartIntro(TRUE);
LD A,1
JR ?0166
; 187. }
; 188. else
?0058:
; 189. {
; 190. StartIntro(FALSE);
XOR A
?0166:
LD (g_introCntMode),A
LD A,(g_music_vars+79)
LD (g_OldSecTempBackup),A
XOR A
LD (g_introCNT),A
?0059:
; 191. }
; 192. if ((!CaltimeFlag) && (!ifSelBuffToltalTimeFlag))
LD A,(CaltimeFlag)
OR A
JR NZ,?0061
LD A,(ifSelBuffToltalTimeFlag)
OR A
JR NZ,?0061
?0063:
?0062:
?0060:
; 193. {
; 194. musicpSendCommand(MC_CALTIME, NULL);
CALL LWRD ?0179
?0061:
; 195. }
; 196.
; 197. //判断是否刚断电完而没有重设时间
; 198. if (g_PowerOffFlag == 0x55)
LD A,(g_PowerOffFlag)
CP 85
JR NZ,?0067
?0064:
; 199. {
; 200. if (!DisplayTimeRollback())
LD A,BYTE3 DisplayTimeRollback
LD HL,LWRD DisplayTimeRollback
CALL LWRD ?BANK_CALL_DIRECT_L08
INC L
DEC L
JP Z,?0174
?0066:
; 201. {
; 202. SetFullInterface();
; 203. need_draw = TRUE;
; 204. break;
?0067:
?0065:
; 205. }
; 206. }
; 207.
; 208. UpDisplayFlag = UpDisplayFlag | up_musictotaltime | up_musicbitrate;
LD HL,UpDisplayFlag
INC HL
LD A,(HL)
OR 33
LD (HL),A
; 209. need_draw = TRUE;
LD A,1
LD (need_draw),A
; 210.
; 211.
; 212. output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
IN A,(78)
SET 3,A
OUT (78),A
; 213. if (!musicpSendCommand(MC_PLAY, g_music_vars.MusicOpenMod))
LD BC,(g_music_vars+6)
LD B,0
LD E,4
CALL LWRD ?0177
INC L
DEC L
JR NZ,?0069
?0068:
; 214. {
; 215. ErrReport(PlayStatus);// playStatus 并未改变
LD DE,(PlayStatus)
LD A,BYTE3 ErrReport
LD HL,LWRD ErrReport
CALL LWRD ?BANK_CALL_DIRECT_L08
; 216. break;
JP LWRD ?0042
?0069:
; 217. }
; 218. output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
IN A,(78)
SET 3,A
OUT (78),A
; 219. #ifdef EAR_PROTECT
; 220. if (g_firstplay_flag)
LD A,(g_firstplay_flag)
OR A
JR Z,?0071
?0070:
; 221. {
; 222. g_autoswitch_counter = 0;
LD HL,0
LD (g_autoswitch_counter),HL
; 223. g_firstplay_flag = FALSE;
XOR A
LD (g_firstplay_flag),A
?0071:
; 224. }
; 225. #endif
; 226. ////////////////////////////////////// zhangxs added for no keytone while playing 2007.04.29
; 227. {
; 228. BYTE KeyTone_bak;
; 229. KeyTone_bak = g_comval.KeyTone;
LD A,(g_comval+29)
LD (IX-2),A
; 230. if(g_comval.KeyTone)
OR A
JR Z,?0073
?0072:
; 231. {
; 232. g_comval.KeyTone=0;
XOR A
LD (g_comval+29),A
; 233. sKY_Beep(g_comval.KeyTone);
LD E,A
CALL LWRD sKY_Beep
?0073:
; 234. }
; 235. g_result = ui_play();
LD A,BYTE3 ui_play
LD HL,LWRD ui_play
CALL LWRD ?0176
; 236. g_comval.KeyTone = KeyTone_bak;
LD A,(IX-2)
LD (g_comval+29),A
; 237. }
; 238. MusicEditSelStatus=MusicEditSelSta_NoSel; //music edit add by mzh 2007.1.19
XOR A
LD (MusicEditSelStatus),A
; 239. MusicEditStatus=MusicEditSta_NoFun;
LD (MusicEditStatus),A
; 240. ap_message_init(NULL);//开始算STANDBY 时间
LD E,A
LD D,A
LD A,BYTE3 ap_message_init
LD HL,LWRD ap_message_init
CALL LWRD ?BANK_CALL_DIRECT_L08
; 241. if (g_result != 0)
LD HL,(g_result)
LD A,L
OR H
JP Z,?0075
?0074:
; 242. {
; 243. int i;
; 244. i = g_result;
LD (IX-2),L
LD (IX-1),H
; 245. if(g_result ==RESULT_USERLIST ||g_result == RESULT_MUSIC_PLAY)
LD A,108
XOR L
OR H
JR Z,?0078
LD A,30
XOR L
OR H
JR NZ,?0077
?0078:
?0079:
?0076:
; 246. {
; 247. #ifdef OPT_Sup_FadeOut_fun
; 248. FadeOut(FALSE);
LD E,0
LD A,BYTE3 FadeOut
LD HL,LWRD FadeOut
CALL LWRD ?BANK_CALL_DIRECT_L08
; 249. #endif
; 250. musicpSendCommand(MC_STOP, NULL);
LD BC,0
LD E,6
CALL LWRD ?0177
; 251. if(g_result ==RESULT_USERLIST)
LD HL,(g_result)
LD A,108
XOR L
OR H
JR NZ,?0081
?0080:
; 252. g_music_vars.fselmod = FSEL_TYPE_USERPL;
LD A,2
LD (g_music_vars+81),A
; 253. else
JR ?0082
?0081:
; 254. {
; 255. g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
XOR A
LD (g_music_vars+81),A
; 256. bList_Flag = 0;
LD (bList_Flag),A
?0082:
; 257. }
; 258. g_music_vars.file_list_type==0xff;
; 259. fsel_mode_change_flag = FALSE; //
XOR A
LD (fsel_mode_change_flag),A
; 260. FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_REPEATALL, g_music_vars.fselmod ,g_music_vars.location.disk);//初始化文件选择器
LD HL,g_music_vars+7
LD C,(HL)
PUSH BC
LD HL,g_music_vars+81
LD C,(HL)
PUSH BC
LD C,4
LD E,A
LD A,BYTE3 fselInit
LD HL,LWRD fselInit
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
POP AF
; 261. if(!fselSetLocation(&g_music_vars.location))
LD DE,g_music_vars+7
LD A,BYTE3 fselSetLocation
LD HL,LWRD fselSetLocation
CALL LWRD ?BANK_CALL_DIRECT_L08
INC L
DEC L
JR NZ,?0084
?0083:
; 262. {
; 263. DisplayErrMsg(MFILEOUT);
LD DE,535
LD A,BYTE3 DisplayErrMsg
LD HL,LWRD DisplayErrMsg
CALL LWRD ?BANK_CALL_DIRECT_L08
; 264. bList_Flag = 0;
XOR A
LD (bList_Flag),A
; 265. g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
LD (g_music_vars+81),A
?0084:
; 266. }
; 267. g_FCexitflag = FALSE;
XOR A
LD (g_FCexitflag),A
; 268. ClearTimePara();
LD A,BYTE3 ClearTimePara
LD HL,LWRD ClearTimePara
CALL LWRD ?BANK_CALL_DIRECT_L08
; 269. g_from_browser = TRUE;
LD A,1
LD (g_from_browser),A
; 270. return 0;
JP LWRD ?0170
; 271. }
?0077:
; 272. if(PlayStatus != StopSta)
LD A,(PlayStatus)
OR A
JR Z,?0086
?0085:
; 273. {
; 274. #ifdef OPT_Sup_FadeOut_fun
; 275. if (!g_FCexitflag||g_currentMusicType==Music_WMA)
LD A,(g_FCexitflag)
OR A
JR Z,?0089
LD A,(g_currentMusicType)
DEC A
DEC A
JR NZ,?0088
?0089:
?0090:
?0087:
; 276. { //如从跟读对录音或对比放音出,不淡出
; 277. FadeOut(FALSE);
LD E,0
LD A,BYTE3 FadeOut
LD HL,LWRD FadeOut
CALL LWRD ?BANK_CALL_DIRECT_L08
?0088:
; 278. }
; 279. #endif
; 280. BackupCurrentTime();
LD A,BYTE3 BackupCurrentTime
LD HL,LWRD BackupCurrentTime
CALL LWRD ?BANK_CALL_DIRECT_L08
; 281. musicpSendCommand(MC_STOP, NULL);
LD BC,0
LD E,6
CALL LWRD ?0177
; 282. musicpSendCommand(MC_BACKUP, NULL);
LD BC,0
LD E,68
CALL LWRD ?0177
; 283. g_music_vars.MusicOpenMod = Nor_Break_open;//保证退出后从断点进来
LD A,1
LD (g_music_vars+6),A
?0086:
; 284. }
; 285. g_result = i;
LD L,(IX-2)
LD H,(IX-1)
LD (g_result),HL
; 286. }
; 287. else
JR ?0092
?0075:
?0093:
; 288. while(ap_get_message() != 0); //清空消息池
CALL LWRD ap_get_message
OR A
JR NZ,?0075
?0094:
?0092:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -