📄 sub_display.lst
字号:
161 * Returns :
162 *
163 * Notes : 播放时调节音量需要设置硬件
164 停止时调节音量不需要设置硬件
165 *
166 ********************************************************************************
167 */
168 void vol_callback(int value)
169 {
\ 018E C5 PUSH BC
\ 018F D5 PUSH DE
170 g_amv_vars.volume = (char)value;
\ 0190 7B LD A,E
\ 0191 320200 LD (g_amv_vars+2),A
171
172 SetPAVolume(g_amv_vars.volume);
\ 0194 ED5B0200 LD DE,(g_amv_vars+2)
\ 0198 CD0000 CALL LWRD SetPAVolume
173 }
\ 019B E1 POP HL
\ 019C C1 POP BC
\ 019D C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 01A0 show_volume:
174
175 int show_volume(BOOL set_hardware)
176 {
\ 01A0 C5 PUSH BC
\ 01A1 DDE5 PUSH IX
\ 01A3 D5 PUSH DE
177 int result;
178 char id;
179 char temp[3];
180
181 slider.value = g_amv_vars.volume;
\ 01A4 ED4B0200 LD BC,(g_amv_vars+2)
\ 01A8 0600 LD B,0
\ 01AA ED430600 LD (slider+6),BC
182 slider.max = 31;
\ 01AE 211F00 LD HL,31
\ 01B1 220400 LD (slider+4),HL
183 slider.min = 0;
\ 01B4 68 LD L,B
\ 01B5 220200 LD (slider+2),HL
184 slider.step = 1;
\ 01B8 23 INC HL
\ 01B9 220800 LD (slider+8),HL
185 slider.string_id = g_langid;
\ 01BC 3A0000 LD A,(g_langid)
\ 01BF 320A00 LD (slider+10),A
186 slider.title=CHANGEVO;
\ 01C2 218901 LD HL,393
\ 01C5 220000 LD (slider),HL
187 ui_auto_update=FALSE;
\ 01C8 AF XOR A
\ 01C9 320000 LD (ui_auto_update),A
188 if(set_hardware)
\ 01CC B3 OR E
\ 01CD 2816 JR Z,?0019
\ 01CF ?0018:
189 {
190 result = ui_slider(&slider, vol_callback);
\ 01CF 0E00 LD C,BYTE3 vol_callback
\ 01D1 C5 PUSH BC
\ 01D2 218E01 LD HL,LWRD vol_callback
\ 01D5 E5 PUSH HL
\ 01D6 110000 LD DE,slider
\ 01D9 3E00 LD A,BYTE3 ui_slider
\ 01DB 210000 LD HL,LWRD ui_slider
\ 01DE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01E1 F1 POP AF
\ 01E2 F1 POP AF
191 }
192 else
\ 01E3 1816 JR ?0020
\ 01E5 ?0019:
193 {
194 result = ui_slider(&slider, NULL);
\ 01E5 48 LD C,B
\ 01E6 C5 PUSH BC
\ 01E7 C5 PUSH BC
\ 01E8 110000 LD DE,slider
\ 01EB 3E00 LD A,BYTE3 ui_slider
\ 01ED 210000 LD HL,LWRD ui_slider
\ 01F0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01F3 F1 POP AF
\ 01F4 F1 POP AF
195 g_amv_vars.volume = slider.value;
\ 01F5 3A0600 LD A,(slider+6)
\ 01F8 320200 LD (g_amv_vars+2),A
\ 01FB ?0020:
196 }
197 ui_auto_update=TRUE;
\ 01FB 3E01 LD A,1
\ 01FD 320000 LD (ui_auto_update),A
198 if(result != 0) return result;
\ 0200 7D LD A,L
\ 0201 B4 OR H
\ 0202 2002 JR NZ,?0023
\ 0204 ?0021:
\ 0204 ?0022:
199
200 return 0;
\ 0204 68 LD L,B
\ 0205 60 LD H,B
201 }
\ 0206 ?0023:
\ 0206 F1 POP AF
\ 0207 DDE1 POP IX
\ 0209 C1 POP BC
\ 020A C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 020D ui_show_h:
202
203 void ui_show_h(const char *string) //显示歌曲曲目
204 {
\ 020D C5 PUSH BC
\ 020E D5 PUSH DE
\ 020F F5 PUSH AF
\ 0210 F5 PUSH AF
\ 0211 F5 PUSH AF
\ 0212 F5 PUSH AF
205 /*char id;
206 id = *string-0x30;
207 main_ResShowPic(songnum_id[id],POS_SONGNUM-8,POSY_SONGNUM);
208 string++;
209 id= *string-0x30;
210 main_ResShowPic(songnum_id[id],POS_SONGNUM,POSY_SONGNUM);
211 string++;
212 id= *string-0x30;
213 main_ResShowPic(songnum_id[id],POS_SONGNUM+8,POSY_SONGNUM);
214 main_ResShowPic(SINGLINE,POS_SONGNUM+16,POSY_SONGNUM);
215 string++;
216 id= *string-0x30;
217 main_ResShowPic(songnum_id[id],POS_SONGNUM+24,POSY_SONGNUM);
218 string++;
219 id= *string-0x30;
220 main_ResShowPic(songnum_id[id],POS_SONGNUM+32,POSY_SONGNUM);
221 string++;
222 id= *string-0x30;
223 main_ResShowPic(songnum_id[id],POS_SONGNUM+40,POSY_SONGNUM);*/
224 DC oldDC_sav;
225 GetDCStatus(&oldDC_sav);
\ 0213 210000 LD HL,0
\ 0216 39 ADD HL,SP
\ 0217 EB EX DE,HL
\ 0218 CD0000 CALL LWRD GetDCStatus
226 SetPenColor(Color_BLACK_def);
\ 021B CD1A01 CALL LWRD ?0030
227 SetBackgdColor(Color_MENU_def);
228
229 SetAsciiFont(FONT_TYPE_SMALL);
\ 021E 1E00 LD E,0
\ 0220 CD0000 CALL LWRD SetAsciiFont
230 SetTextPos(4, 23);
\ 0223 0E17 LD C,23
\ 0225 1E04 LD E,4
\ 0227 CD0000 CALL LWRD SetTextPos
231 PutS(string, -1);
\ 022A 0EFF LD C,255
\ 022C 210800 LD HL,8
\ 022F 39 ADD HL,SP
\ 0230 5E LD E,(HL)
\ 0231 23 INC HL
\ 0232 56 LD D,(HL)
\ 0233 CD0000 CALL LWRD PutS
232 SetAsciiFont(FONT_TYPE_DEFAULT);
\ 0236 1E04 LD E,4
\ 0238 CD0000 CALL LWRD SetAsciiFont
233
234 SetPenColor(oldDC_sav.PenColor);
\ 023B 210000 LD HL,0
\ 023E 39 ADD HL,SP
\ 023F 5E LD E,(HL)
\ 0240 23 INC HL
\ 0241 56 LD D,(HL)
\ 0242 23 INC HL
\ 0243 4E LD C,(HL)
\ 0244 23 INC HL
\ 0245 46 LD B,(HL)
\ 0246 CD0000 CALL LWRD SetPenColor
235 SetBackgdColor(oldDC_sav.BackgdColor);
\ 0249 210400 LD HL,4
\ 024C 39 ADD HL,SP
\ 024D 5E LD E,(HL)
\ 024E 23 INC HL
\ 024F 56 LD D,(HL)
\ 0250 23 INC HL
\ 0251 4E LD C,(HL)
\ 0252 23 INC HL
\ 0253 46 LD B,(HL)
\ 0254 CD0000 CALL LWRD SetBackgdColor
236 }
\ 0257 210A00 LD HL,10
\ 025A 39 ADD HL,SP
\ 025B F9 LD SP,HL
\ 025C C1 POP BC
\ 025D C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CSTR
\ 0000 ?0006:
\ 0000 2F DEFB '/'
\ 0001 00 DEFB 0
\ 0000 RSEG APC_SUB_DIS
\ 0000 LOOP_PIC:
\ 0000 C700 DEFW 199
\ 0002 C800 DEFW 200
\ 0004 C900 DEFW 201
\ 0006 CA00 DEFW 202
\ 0008 CB00 DEFW 203
\ 000A CC00 DEFW 204
\ 000C CD00 DEFW 205
\ 000E END
Errors: none
Warnings: none
Code size: 608
Constant size: 16
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -