📄 ui_stop_menu.lst
字号:
\ 00A1 ?0011:
101 {
102 //无卡
103 switch (list.active)
\ 00A1 ED4B0400 LD BC,(list+4)
\ 00A5 3E05 LD A,5
\ 00A7 A9 XOR C
\ 00A8 B0 OR B
\ 00A9 200F JR NZ,?0021
\ 00AB ?0020:
104 {
105 case 5://licens informations
106 ui_licensinf(g_comval.langid);
\ 00AB ?0100:
\ 00AB ED5B0C00 LD DE,(g_comval+12)
\ 00AF 57 LD D,A
\ 00B0 3E00 LD A,BYTE3 ui_licensinf
\ 00B2 210000 LD HL,LWRD ui_licensinf
\ 00B5 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
107 return RESULT_IGNORE;
\ 00B8 1825 JR ?0099
108
109 case 9://exit
\ 00BA ?0021:
\ 00BA 3E09 LD A,9
\ 00BC A9 XOR C
\ 00BD B0 OR B
\ 00BE 281F JR Z,?0099
110 return RESULT_IGNORE;
111 }
\ 00C0 ?0019:
\ 00C0 ?0018:
112 }
113
114
115 BankSwitch((unsigned long)FSELInit >> 16);
\ 00C0 0600 LD B,0
\ 00C2 1E00 LD E,BYTE3 fselInit
\ 00C4 48 LD C,B
\ 00C5 CD0000 CALL LWRD BankSwitch
116 fselGetLocation(& g_music_vars.location);
\ 00C8 CD7903 CALL LWRD ?0104
117
118 if (g_music_vars.location.disk == 'H')
\ 00CB 3A0700 LD A,(g_music_vars+7)
\ 00CE FE48 CP 72
\ 00D0 2013 JR NZ,?0025
\ 00D2 ?0022:
119 //&& (menu.active != 0) )
120 {
121 //因为在控件 ui_function_menu 中不好检测卡拔出,所以这里再测一次
122 if (DRV_DetectUD(1) != 0x20)
\ 00D2 CD7103 CALL LWRD ?0103
\ 00D5 280E JR Z,?0025
\ 00D7 ?0024:
123 {
124 DisplayErrMsg(CARDPULL);//显示卡拔出
\ 00D7 CD8403 CALL LWRD ?0105
125 g_music_vars.location.disk = 'C';
\ 00DA 3E43 LD A,67
\ 00DC 320700 LD (g_music_vars+7),A
126 //return RESULT_SD_OUT;
127 return RESULT_IGNORE;
\ 00DF ?0099:
\ 00DF 213400 LD HL,52
128 }
\ 00E2 C36E03 JP LWRD ?0089
\ 00E5 ?0025:
\ 00E5 ?0023:
129 }
130
131 musicpSendCommand(MC_CLOSE, NULL);
\ 00E5 1E02 LD E,2
\ 00E7 3E00 LD A,BYTE3 musicpSendCommand
\ 00E9 210000 LD HL,LWRD musicpSendCommand
\ 00EC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
132
133 if (list.active < 5)
\ 00EF 2A0400 LD HL,(list+4)
\ 00F2 010580 LD BC,32773
\ 00F5 78 LD A,B
\ 00F6 AC XOR H
\ 00F7 67 LD H,A
\ 00F8 ED42 SBC HL,BC
\ 00FA D24302 JP NC,?0027
\ 00FD ?0026:
134 {
135 //前面调用PLAYLIST控件选中对应的PLAYLIST
136 if (g_music_vars.fselmod == FSEL_TYPE_COMMONDIR)
\ 00FD 3A4F00 LD A,(g_music_vars+79)
\ 0100 B7 OR A
\ 0101 C28801 JP NZ,?0029
\ 0104 ?0028:
137 {
138 //dir -> playlist
139 FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_REPEATALL, FSEL_TYPE_PLAYLIST, g_music_vars.location.disk);//初始化playlist
\ 0104 210700 LD HL,g_music_vars+7
\ 0107 4E LD C,(HL)
\ 0108 C5 PUSH BC
\ 0109 0E01 LD C,1
\ 010B C5 PUSH BC
\ 010C 0E04 LD C,4
\ 010E 5F LD E,A
\ 010F CD9303 CALL LWRD ?0106
\ 0112 F1 POP AF
\ 0113 F1 POP AF
140 g_music_vars.fselmod = FSEL_TYPE_PLAYLIST;
\ 0114 3E01 LD A,1
\ 0116 324F00 LD (g_music_vars+79),A
141 if (!fselPlayListEnt(PLFileName[list.active]))
\ 0119 2A0400 LD HL,(list+4)
\ 011C 29 ADD HL,HL
\ 011D 29 ADD HL,HL
\ 011E 4D LD C,L
\ 011F 44 LD B,H
\ 0120 29 ADD HL,HL
\ 0121 09 ADD HL,BC
\ 0122 010000 LD BC,PLFileName
\ 0125 09 ADD HL,BC
\ 0126 EB EX DE,HL
\ 0127 3E00 LD A,BYTE3 fselPlayListEnt
\ 0129 210000 LD HL,LWRD fselPlayListEnt
\ 012C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 012F 2C INC L
\ 0130 2D DEC L
\ 0131 2025 JR NZ,?0031
\ 0133 ?0030:
\ 0133 ?0032:
142 {
143 listenterr:
144 //不能进入PLAYLIST的情况
145 FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_REPEATALL, FSEL_TYPE_COMMONDIR,g_music_vars.location.disk);//初始化文件选择器
\ 0133 210700 LD HL,g_music_vars+7
\ 0136 4E LD C,(HL)
\ 0137 C5 PUSH BC
\ 0138 0E00 LD C,0
\ 013A C5 PUSH BC
\ 013B CD8F03 CALL LWRD ?0107
\ 013E F1 POP AF
\ 013F F1 POP AF
146 FSELGetNext(g_music_vars.location.filename);
\ 0140 112100 LD DE,g_music_vars+33
\ 0143 3E00 LD A,BYTE3 fselGetNextFile
\ 0145 210000 LD HL,LWRD fselGetNextFile
\ 0148 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
147 g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
\ 014B AF XOR A
\ 014C 324F00 LD (g_music_vars+79),A
148 result = RESULT_IGNORE;
\ 014F DD36FC34 LD (IX-4),52
\ 0153 DD77FD LD (IX-3),A
149 }
150 else
\ 0156 182D JR ?0035
\ 0158 ?0031:
151 {
152 //有PLAYLIST的情况
153 if (fselGetLocation(&g_music_vars.location))
\ 0158 CD7903 CALL LWRD ?0104
\ 015B 2C INC L
\ 015C 2D DEC L
\ 015D 2826 JR Z,?0035
\ 015F ?0034:
154 {
155 result = ui_playlist(&g_music_vars.location, DIRECTORY_MUSIC,
156 g_comval.langid);
\ 015F 210C00 LD HL,g_comval+12
\ 0162 4E LD C,(HL)
\ 0163 C5 PUSH BC
\ 0164 CD9B03 CALL LWRD ?0108
\ 0167 F1 POP AF
\ 0168 DD75FC LD (IX-4),L
\ 016B DD74FD LD (IX-3),H
157 output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
\ 016E DB4E IN A,(78)
\ 0170 CBDF SET 3,A
\ 0172 D34E OUT (78),A
158 if (result == RESULT_IGNORE)
\ 0174 3E34 LD A,52
\ 0176 AD XOR L
\ 0177 B4 OR H
\ 0178 28B9 JR Z,?0030
\ 017A ?0036:
159 {
160 goto listenterr;
\ 017A ?0037:
161 }
162 else
163 {
164 FSELGetNext(g_music_vars.location.filename);
\ 017A 112100 LD DE,g_music_vars+33
\ 017D 3E00 LD A,BYTE3 fselGetNextFile
\ 017F 210000 LD HL,LWRD fselGetNextFile
\ 0182 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0185 ?0035:
\ 0185 ?0033:
165 }
166 }
167 }
168
169
170 }
171
172 else
\ 0185 C32502 JP LWRD ?0052
\ 0188 ?0029:
173 {
174 bool tmpflag = FALSE;
\ 0188 DD36FF00 LD (IX-1),0
175 //从 playlist -> playlist
176 if (list.active != g_music_vars.play_listmod)
\ 018C ED4B4E00 LD BC,(g_music_vars+78)
\ 0190 0600 LD B,0
\ 0192 2A0400 LD HL,(list+4)
\ 0195 A7 AND A
\ 0196 ED42 SBC HL,BC
\ 0198 284B JR Z,?0040
\ 019A ?0039:
177 {
178 if (!fselPlayListEnt(PLFileName[list.active]))
\ 019A 2A0400 LD HL,(list+4)
\ 019D 29 ADD HL,HL
\ 019E 29 ADD HL,HL
\ 019F 4D LD C,L
\ 01A0 44 LD B,H
\ 01A1 29 ADD HL,HL
\ 01A2 09 ADD HL,BC
\ 01A3 010000 LD BC,PLFileName
\ 01A6 09 ADD HL,BC
\ 01A7 EB EX DE,HL
\ 01A8 3E00 LD A,BYTE3 fselPlayListEnt
\ 01AA 210000 LD HL,LWRD fselPlayListEnt
\ 01AD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01B0 2C INC L
\ 01B1 2D DEC L
\ 01B2 202B JR NZ,?0042
\ 01B4 ?0041:
\ 01B4 ?0043:
179 {
180 listenterr1:
181 //不能进入PLAYLIST的情况
182 FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_REPEATALL, FSEL_TYPE_COMMONDIR,g_music_vars.location.disk);//初始化文件选择器
\ 01B4 210700 LD HL,g_music_vars+7
\ 01B7 4E LD C,(HL)
\ 01B8 C5 PUSH BC
\ 01B9 0E00 LD C,0
\ 01BB C5 PUSH BC
\ 01BC CD8F03 CALL LWRD ?0107
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -