📄 main.lst
字号:
233 DisablePA();
\ 015C CD0000 CALL LWRD DisablePA
234 DisableDAC();
\ 015F CD0000 CALL LWRD DisableDAC
235 }
236
237 TM_KillTimer(MusicTimer_Sav);//关闭 2hz 定时
\ 0162 ED5BF500 LD DE,(MusicTimer_Sav)
\ 0166 CD0000 CALL LWRD TM_KillTimer
238 TM_KillClock(Timer_2HZNo_Sav);//关闭 20ms 定时
\ 0169 ED5BF600 LD DE,(Timer_2HZNo_Sav)
\ 016D CD0000 CALL LWRD TM_KillClock
239
240 output8(0x05,IO05Bak);
\ 0170 210000 LD HL,0
\ 0173 39 ADD HL,SP
\ 0174 7E LD A,(HL)
\ 0175 D305 OUT (5),A
241 ResClose(g_Resfp_Sav);
\ 0177 CDD001 CALL LWRD ?0027
242
243 //记录 退出时播放文件的状态
244 fselGetLocation(& g_music_vars.location);
\ 017A 112700 LD DE,g_music_vars+7
\ 017D 3E00 LD A,BYTE3 fselGetLocation
\ 017F 210000 LD HL,LWRD fselGetLocation
\ 0182 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
245 VMWrite(& g_music_vars, VM_AP_MUSIC);
\ 0185 010010 LD BC,4096
\ 0188 112000 LD DE,g_music_vars
\ 018B CD0000 CALL LWRD VMWrite
246 //删除跟读时可能产生的临时文件,在正常退出时保证这个文件能被删除
247 if ((g_DiskStateFlag & SetDiskOKFlag_def) != 0)
\ 018E 3A0800 LD A,(g_DiskStateFlag)
\ 0191 CB7F BIT 7,A
\ 0193 2806 JR Z,?0019
\ 0195 ?0018:
248 {
249 FS_FRemove( FollowReadTempFileName );
\ 0195 110000 LD DE,?0020
\ 0198 CD0000 CALL LWRD FS_FRemove
\ 019B ?0019:
250 }
251 #ifdef ACTIVE_USERPL
252 if(need_WPL)
\ 019B 3A1E01 LD A,(need_WPL)
\ 019E B7 OR A
\ 019F 280A JR Z,?0022
\ 01A1 ?0021:
253 WrHead_PL(0);
\ 01A1 1E00 LD E,0
\ 01A3 3E00 LD A,BYTE3 WrHead_PL
\ 01A5 210000 LD HL,LWRD WrHead_PL
\ 01A8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01AB ?0022:
254 #endif
255 return mainresult;
\ 01AB FDE5 PUSH IY
\ 01AD E1 POP HL
256 }
\ 01AE ?0023:
\ 01AE F1 POP AF
\ 01AF F1 POP AF
\ 01B0 DDE1 POP IX
\ 01B2 FDE1 POP IY
\ 01B4 C1 POP BC
\ 01B5 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 01B8 ?0026:
\ 01B8 3E00 LD A,BYTE3 CreateMEIniFile
\ 01BA 210000 LD HL,LWRD CreateMEIniFile
\ 01BD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01C0 3E00 LD A,BYTE3 CreateBookMarkFile
\ 01C2 210000 LD HL,LWRD CreateBookMarkFile
\ 01C5 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01C8 3E00 LD A,BYTE3 Reset_USERPL
\ 01CA 210000 LD HL,LWRD Reset_USERPL
\ 01CD C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 01D0 ?0027:
\ 01D0 DDE5 PUSH IX
\ 01D2 D1 POP DE
\ 01D3 3E00 LD A,BYTE3 ResClose
\ 01D5 210000 LD HL,LWRD ResClose
\ 01D8 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
257
258
259 /*注解*/
260 //[001]
261 /* ==FLASH 与卡的 报错处理
262 设 A 表示有无格式化属性 (+A:已格;-A:未格)
263 B 表示有无文件属性 (+B:有文件;-B:无文件)
264 X 表示无意义(如在盘未格式化时谈有无文件就无意义)
265
266 C 表示FLASH
267 H 表示SD卡
268
269 下面用组合列出所有情况:
270 1) C[+A+B],H[+A+B] //两个盘都已格式化,都有文件 //不报任何错,而直接恢复退出时的断点即可
271 2) C[+A+B],H[+A-B] //两个盘都已格式化,FLASH有文件,卡无文件 //直接跳到FLASH中即可
272 3) C[+A+B],H[-AX] //FLASH已格式化,卡没格式化,FLASH有文件 //先报"插卡错误",再跳到FLASH中
273
274 4) C[+A-B],H[+A+B] //两个盘都已格式化,FLASH无文件,卡有文件 //直接跳到卡中
275 5) C[+A-B],H[+A-B] //两个盘都已格式化,两个盘都无文件 //先报"磁盘没文件",再报"插卡没文件",然后退出
276 6) C[+A-B],H[-AX] //FLASH已格式化,卡没格式化,FLASH无文件 //先报"插卡错误",再报"磁盘没文件",然后退出
277
278 7) C[-AX],H[+A+B] //FLASH没格式化,卡已格式化,卡中有文件 //先报"磁盘错误",然后跳到卡中
279 8) C[-AX],H[+A-B] //FLASH没格式化,卡已格式化,卡中无文件 //先报"磁盘错误",再报"卡没文件",然后退出
280 9) C[-AX],H[-AX] //两个盘都没格式化 //先报"磁盘错误" ,再报“插卡错误”,然后退出
281 */
282
\ 0000 RSEG CSTR
\ 0000 ?0020:
\ 0000 24245445 DEFB '$$TEMP$$WAV'
\ 0004 4D502424
\ 0008 574156
\ 000B 00 DEFB 0
\ 0000 RSEG UDATA0
\ 0000 g_comval:
\ 0020 DEFS 32
\ 0020 g_music_vars:
\ 007F DEFS 95
\ 007F g_TagInfoBuf:
\ 00D9 DEFS 90
\ 00D9 g_FCexitflag:
\ 00DA DEFS 1
\ 00DA g_Openparam:
\ 00DE DEFS 4
\ 00DE g_OldSecTempBackup:
\ 00DF DEFS 1
\ 00DF g_introCNT:
\ 00E0 DEFS 1
\ 00E0 g_introCntMode:
\ 00E1 DEFS 1
\ 00E1 need_draw:
\ 00E2 DEFS 1
\ 00E2 list:
\ 00EB DEFS 9
\ 00EB UpDisplayFlag:
\ 00ED DEFS 2
\ 00ED g_lyricflag:
\ 00EE DEFS 1
\ 00EE g_currentMusicType:
\ 00EF DEFS 1
\ 00EF g_musicamount:
\ 00F1 DEFS 2
\ 00F1 g_musicsequence:
\ 00F3 DEFS 2
\ 00F3 g_file_list_total:
\ 00F5 DEFS 2
\ 00F5 MusicTimer_Sav:
\ 00F6 DEFS 1
\ 00F6 Timer_2HZNo_Sav:
\ 00F7 DEFS 1
\ 00F7 g_2HZ_CNT:
\ 00F9 DEFS 2
\ 00F9 g_ABPointTimeSize:
\ 00FB DEFS 2
\ 00FB g_Resfp_Sav:
\ 00FD DEFS 2
\ 00FD g_ReplayTimeCNT:
\ 00FE DEFS 1
\ 00FE savenum:
\ 00FF DEFS 1
\ 00FF g_PowerOffFlag:
\ 0100 DEFS 1
\ 0100 g_result:
\ 0102 DEFS 2
\ 0102 MusicEditSelStatus:
\ 0103 DEFS 1
\ 0103 MusicEditStatus:
\ 0104 DEFS 1
\ 0104 MusicEdit_SelSeg:
\ 0112 DEFS 14
\ 0112 MusicEditStartTime:
\ 0115 DEFS 3
\ 0115 MusicEditEndTime:
\ 0118 DEFS 3
\ 0118 FirstOffset:
\ 011A DEFS 2
\ 011A LastOffset:
\ 011C DEFS 2
\ 011C PlaylistCount:
\ 011E DEFS 2
\ 011E need_WPL:
\ 011F DEFS 1
\ 0000 RSEG IDATA0
\ 0000 return_to_play:
\ 0001 DEFS 1
\ 0001 RePlayStatus:
\ 0002 DEFS 1
\ 0002 PlayStatus:
\ 0003 DEFS 1
\ 0003 g_ScrollFlag:
\ 0004 DEFS 1
\ 0004 g_2HZFlag:
\ 0005 DEFS 1
\ 0005 g_FadeInStepFlag:
\ 0006 DEFS 1
\ 0006 g_AVSetFlag:
\ 0007 DEFS 1
\ 0007 g_PAOpenFlag:
\ 0008 DEFS 1
\ 0008 g_DiskStateFlag:
\ 0009 DEFS 1
\ 0009 ifSelBuffToltalTimeFlag:
\ 000A DEFS 1
\ 000A g_from_browser:
\ 000B DEFS 1
\ 000B bList_Flag:
\ 000C DEFS 1
\ 0000 RSEG CDATA0
\ 0000 00 DEFB 0
\ 0001 00 DEFB 0
\ 0002 00 DEFB 0
\ 0003 00 DEFB 0
\ 0004 01 DEFB 1
\ 0005 01 DEFB 1
\ 0006 00 DEFB 0
\ 0007 00 DEFB 0
\ 0008 00 DEFB 0
\ 0009 00 DEFB 0
\ 000A 00 DEFB 0
\ 000B 00 DEFB 0
\ 0000 RSEG APC_UI_MAIN
\ 0000 MPLFileName:
\ 0000 504C4159 DEFB 'PLAYLISTA3L'
\ 0004 4C495354
\ 0008 41334C
\ 000B 00 DEFB 0
\ 000C 41525449 DEFB 'ARTIST A3L'
\ 0010 53542020
\ 0014 41334C
\ 0017 00 DEFB 0
\ 0018 414C4255 DEFB 'ALBUM A3L'
\ 001C 4D202020
\ 0020 41334C
\ 0023 00 DEFB 0
\ 0024 47454E52 DEFB 'GENRE A3L'
\ 0028 45202020
\ 002C 41334C
\ 002F 00 DEFB 0
\ 0030 434F4D50 DEFB 'COMPOSERA3L'
\ 0034 4F534552
\ 0038 41334C
\ 003B 00 DEFB 0
\ 003C ResFileName:
\ 003C 75693330 DEFB 'ui30.res'
\ 0040 2E726573
\ 0044 00 DEFB 0
\ 0045 END
Errors: none
Warnings: none
Code size: 475
Constant size: 93
Static variable size: Data(299) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -