📄 main.lst
字号:
107
108 //debug();
109
110 /* 读入公共变量 */
111 read_var();
\ 0019 3E00 LD A,BYTE3 read_var
\ 001B 210000 LD HL,LWRD read_var
\ 001E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
112
113 ClearScreen(NULL);//清屏
\ 0021 110000 LD DE,0
\ 0024 CD0000 CALL LWRD ClearScreen
114 ResShowMultiString(WAITPASS, g_comval.langid, 255, 80);//显示请稍候
\ 0027 0E50 LD C,80
\ 0029 C5 PUSH BC
\ 002A 0EFF LD C,255
\ 002C C5 PUSH BC
\ 002D ED4B0C00 LD BC,(g_comval+12)
\ 0031 11B501 LD DE,437
\ 0034 3E00 LD A,BYTE3 ResShowMultiString
\ 0036 210000 LD HL,LWRD ResShowMultiString
\ 0039 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 003C F1 POP AF
\ 003D F1 POP AF
115
116 //[001]->
117
118
119 DRV_ActiveUD(0,MODE_SLOW);
\ 003E 0E01 LD C,1
\ 0040 1E00 LD E,0
\ 0042 CD0000 CALL LWRD DRV_ActiveUD
120
121 //ActiveDriveOK = DRV_ActiveDrive('C', MODE_SLOW); //04-2-28 16:29
122 if (DRV_ActiveDrive('C', MODE_SLOW))
\ 0045 0E01 LD C,1
\ 0047 1E43 LD E,67
\ 0049 CD0000 CALL LWRD DRV_ActiveDrive
\ 004C B7 OR A
\ 004D 2805 JR Z,?0004
\ 004F ?0003:
123 {
124 g_DiskStateFlag |= SetDiskOKFlag_def;//标志 flash 已格式化
\ 004F 210900 LD HL,g_DiskStateFlag
\ 0052 CBFE SET 7,(HL)
\ 0054 ?0004:
125 }
126
127 if ((g_DiskStateFlag & SetDiskOKFlag_def) == 0)
\ 0054 3A0900 LD A,(g_DiskStateFlag)
\ 0057 CB7F BIT 7,A
\ 0059 200B JR NZ,?0006
\ 005B ?0005:
128 {
129 DisplayErrInfor(MREADERR);//显示磁盘错
\ 005B 118901 LD DE,393
\ 005E 3E00 LD A,BYTE3 DisplayErrInfor
\ 0060 210000 LD HL,LWRD DisplayErrInfor
\ 0063 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0066 ?0006:
130 }
131
132 if (DRV_DetectUD(1) == 0x20)
\ 0066 1E01 LD E,1
\ 0068 CD0000 CALL LWRD DRV_DetectUD
\ 006B FE20 CP 32
\ 006D 2030 JR NZ,?0008
\ 006F ?0007:
133 { //有卡
134 DRV_ActiveUD(1,MODE_SLOW);
\ 006F 0E01 LD C,1
\ 0071 59 LD E,C
\ 0072 CD0000 CALL LWRD DRV_ActiveUD
135 if (!DRV_ActiveDrive('H', MODE_SLOW))
\ 0075 0E01 LD C,1
\ 0077 1E48 LD E,72
\ 0079 CD0000 CALL LWRD DRV_ActiveDrive
\ 007C B7 OR A
\ 007D 2019 JR NZ,?0010
\ 007F ?0009:
136 {
137 DisplayErrInfor(CREADERR);//显示卡错
\ 007F 119401 LD DE,404
\ 0082 3E00 LD A,BYTE3 DisplayErrInfor
\ 0084 210000 LD HL,LWRD DisplayErrInfor
\ 0087 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
138 if ((g_DiskStateFlag & SetDiskOKFlag_def) == 0)
\ 008A 3A0900 LD A,(g_DiskStateFlag)
\ 008D CB7F BIT 7,A
\ 008F 2815 JR Z,?0022
\ 0091 ?0011:
139 {
140 ResClose(g_Resfp_Sav);
141 return 0;
142 }
\ 0091 ?0012:
143 g_music_vars.location.disk='C';
\ 0091 3E43 LD A,67
\ 0093 322700 LD (g_music_vars+7),A
144 }
145 else
\ 0096 1817 JR ?0016
\ 0098 ?0010:
146 g_DiskStateFlag|=SetCardOKFlag_def;
\ 0098 210900 LD HL,g_DiskStateFlag
\ 009B CBDE SET 3,(HL)
\ 009D ?0013:
147 }
148 else
\ 009D 1810 JR ?0016
\ 009F ?0008:
149 { //没卡
150 if ((g_DiskStateFlag & SetDiskOKFlag_def) == 0)
\ 009F 3A0900 LD A,(g_DiskStateFlag)
\ 00A2 CB7F BIT 7,A
\ 00A4 2009 JR NZ,?0016
\ 00A6 ?0015:
151 {
152 ResClose(g_Resfp_Sav);
\ 00A6 ?0022:
\ 00A6 CD8801 CALL LWRD ?0023
153 return 0;
\ 00A9 210000 LD HL,0
154 }
\ 00AC C38101 JP LWRD ?0020
\ 00AF ?0016:
\ 00AF ?0014:
155 }
156
157 //TestForRec();
158
159 //初始化变量
160 UpDisplayFlag = 0x00;
\ 00AF 210000 LD HL,0
\ 00B2 220201 LD (UpDisplayFlag),HL
161 g_currentMusicType = Music_NON;
\ 00B5 AF XOR A
\ 00B6 320501 LD (g_currentMusicType),A
162 g_lyricflag = FALSE;
\ 00B9 320401 LD (g_lyricflag),A
163 g_musicsequence = 0x00;
\ 00BC 220801 LD (g_musicsequence),HL
164 g_musicamount = 0x00;
\ 00BF 220601 LD (g_musicamount),HL
165 g_music_vars.location.ID3buffer = g_TagInfoBuf;
\ 00C2 217600 LD HL,g_TagInfoBuf
\ 00C5 224D00 LD (g_music_vars+45),HL
166
167 g_Openparam.filename = g_music_vars.location.filename;//文件名地址
\ 00C8 214100 LD HL,g_music_vars+33
\ 00CB 22E600 LD (g_Openparam),HL
168 g_Openparam.BreakPTSave = & g_music_vars.BreakPTSave;//备份参数地址
\ 00CE 215000 LD HL,g_music_vars+48
\ 00D1 22E800 LD (g_Openparam+2),HL
169
170 TimeRateData_sav.TotalTime_sav[0] = 0;
\ 00D4 320300 LD (TimeRateData_sav+3),A
171 TimeRateData_sav.TotalTime_sav[1] = 0;
\ 00D7 320400 LD (TimeRateData_sav+4),A
172 TimeRateData_sav.TotalTime_sav[2] = 0;
\ 00DA 320500 LD (TimeRateData_sav+5),A
173 TimeRateData_sav.Bitrate_sav[0] = 0;
\ 00DD 320000 LD (TimeRateData_sav),A
174 TimeRateData_sav.Bitrate_sav[1] = 0;
\ 00E0 320100 LD (TimeRateData_sav+1),A
175 TimeRateData_sav.Bitrate_sav[2] = 0;
\ 00E3 320200 LD (TimeRateData_sav+2),A
176
177 ifSelBuffToltalTimeFlag = FALSE;
\ 00E6 320A00 LD (ifSelBuffToltalTimeFlag),A
178 CaltimeFlag = FALSE;
\ 00E9 320000 LD (CaltimeFlag),A
179 WaitForCaltimeCNT = 0;
\ 00EC 320000 LD (WaitForCaltimeCNT),A
180
181 //把控件的常驻BANK切入
182 BankSwitch((unsigned long)ui_show_a >> 16);
\ 00EF 1E00 LD E,BYTE3 ui_show_a
\ 00F1 CD0000 CALL LWRD BankSwitch
183
184 g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;//每次进入都是设为目录选择器
\ 00F4 AF XOR A
\ 00F5 326F00 LD (g_music_vars+79),A
185
186 //初始化文件选择器
187
188 lyricInit(LYRIC_SCREEN_128_32, g_comval.langid);//初始化歌词解释器
\ 00F8 ED4B0C00 LD BC,(g_comval+12)
\ 00FC 1E01 LD E,1
\ 00FE 3E00 LD A,BYTE3 lyricInit
\ 0100 210000 LD HL,LWRD lyricInit
\ 0103 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
189
190 Timer_2HZNo_Sav = TM_SetClock((int)Music_2HZint, 1);//打开 2HZ 定时
\ 0106 0E01 LD C,1
\ 0108 110000 LD DE,Music_2HZint
\ 010B CD0000 CALL LWRD TM_SetClock
\ 010E 320B01 LD (Timer_2HZNo_Sav),A
191 MusicTimer_Sav = TM_SetTimer((int)Music_timeint, 2);//打开 20ms 定时
\ 0111 0E02 LD C,2
\ 0113 110000 LD DE,Music_timeint
\ 0116 CD0000 CALL LWRD TM_SetTimer
\ 0119 320A01 LD (MusicTimer_Sav),A
192
193
194 openDAC();
\ 011C 3E00 LD A,BYTE3 openDAC
\ 011E 210000 LD HL,LWRD openDAC
\ 0121 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
195 mainresult = ui_stop();// =============> 进入界面
\ 0124 3E00 LD A,BYTE3 ui_stop
\ 0126 210000 LD HL,LWRD ui_stop
\ 0129 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 012C E5 PUSH HL
\ 012D DDE1 POP IX
196 //由于特殊情况,这个开PA的动作放在开始播放时做
197 ClosePA();
\ 012F 3E00 LD A,BYTE3 ClosePA
\ 0131 210000 LD HL,LWRD ClosePA
\ 0134 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
198 DisableDAC();
\ 0137 CD0000 CALL LWRD DisableDAC
199
200 TM_KillTimer(MusicTimer_Sav);//关闭 2hz 定时
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -