📄 ui_playlist.lst
字号:
\ 00FA DE00 DEFW ?0015
\ 00FC 6302 DEFW ?0051
\ 00FE DE00 DEFW ?0015
\ 0100 2502 DEFW ?0038
\ 0102 4302 DEFW ?0045
\ 0104 DE00 DEFW ?0015
\ 0106 0A01 DEFW ?0018
\ 0108 AC01 DEFW ?0029
\ 010A ?0018:
91 {
92
93 case AP_KEY_NEXT:
94 case AP_KEY_NEXT | AP_KEY_HOLD:
95
96 if(playlist_active<PlaylistClassTotal -1 ) //当前项小于总列表数
\ 010A 21FFFF LD HL,65535
\ 010D ED4B0000 LD BC,(PlaylistClassTotal)
\ 0111 09 ADD HL,BC
\ 0112 4D LD C,L
\ 0113 44 LD B,H
\ 0114 2A0000 LD HL,(playlist_active)
\ 0117 A7 AND A
\ 0118 ED42 SBC HL,BC
\ 011A D2A301 JP NC,?0023
\ 011D ?0019:
97 {
98
99 fselGetNextGroup(Strname);
\ 011D DD5EF8 LD E,(IX-8)
\ 0120 DD56F9 LD D,(IX-7)
\ 0123 3E00 LD A,BYTE3 fselGetNextGroup
\ 0125 210000 LD HL,LWRD fselGetNextGroup
\ 0128 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
100 playlist_active++;
\ 012B 2A0000 LD HL,(playlist_active)
\ 012E 23 INC HL
101 if(playlist_active/5==cur_grouplist)
\ 012F CD6203 CALL LWRD ?0076
\ 0132 2017 JR NZ,?0022
\ 0134 ?0021:
102 {
103 ShowPlaylist(top,bottom,playlist_active-1,playlist_active,Strname,string_id,1);
\ 0134 0E01 LD C,1
\ 0136 C5 PUSH BC
\ 0137 DD6E0A LD L,(IX+10)
\ 013A E5 PUSH HL
\ 013B DD6EF8 LD L,(IX-8)
\ 013E DD66F9 LD H,(IX-7)
\ 0141 E5 PUSH HL
\ 0142 3A0000 LD A,(playlist_active)
\ 0145 4F LD C,A
\ 0146 C5 PUSH BC
\ 0147 C6FF ADD A,255
\ 0149 184E JR ?0068
104 }
105 else
\ 014B ?0022:
106 {
107 cur_grouplist=cur_grouplist+1;
\ 014B 210100 LD HL,1
108 top=(playlist_active/5)*5; //顶的序号
\ 014E CD3C03 CALL LWRD ?0075
109 bottom=top+4; //底的序号
110 if(bottom>(PlaylistClassTotal-1))
\ 0151 21FFFF LD HL,65535
\ 0154 ED4B0000 LD BC,(PlaylistClassTotal)
\ 0158 09 ADD HL,BC
\ 0159 FDE5 PUSH IY
\ 015B C1 POP BC
\ 015C A7 AND A
\ 015D ED42 SBC HL,BC
\ 015F 300B JR NC,?0025
\ 0161 ?0024:
111 bottom=PlaylistClassTotal-1;
\ 0161 21FFFF LD HL,65535
\ 0164 ED4B0000 LD BC,(PlaylistClassTotal)
\ 0168 09 ADD HL,BC
\ 0169 E5 PUSH HL
\ 016A FDE1 POP IY
\ 016C ?0025:
112 FSELGetLocation(location);
\ 016C CD0003 CALL LWRD ?0071
113 reinit_idm_buf_playlist(top, bottom, Strname, string_id,TRUE); //换页要重新初始化IDM数据
\ 016F 0E01 LD C,1
\ 0171 C5 PUSH BC
\ 0172 DD6E0A LD L,(IX+10)
\ 0175 E5 PUSH HL
\ 0176 DD6EF8 LD L,(IX-8)
\ 0179 DD66F9 LD H,(IX-7)
\ 017C E5 PUSH HL
\ 017D CD1C03 CALL LWRD ?0073
\ 0180 E1 POP HL
\ 0181 E1 POP HL
\ 0182 E1 POP HL
114 FSELSetLocation(location);
\ 0183 CD0E03 CALL LWRD ?0072
115 ShowPlaylist(top,bottom,playlist_active,playlist_active,Strname,string_id,1);
\ 0186 0E01 LD C,1
\ 0188 C5 PUSH BC
\ 0189 DD6E0A LD L,(IX+10)
\ 018C E5 PUSH HL
\ 018D DD6EF8 LD L,(IX-8)
\ 0190 DD66F9 LD H,(IX-7)
\ 0193 E5 PUSH HL
\ 0194 3A0000 LD A,(playlist_active)
\ 0197 4F LD C,A
\ 0198 C5 PUSH BC
\ 0199 ?0068:
\ 0199 4F LD C,A
\ 019A C5 PUSH BC
\ 019B CD2D03 CALL LWRD ?0074
\ 019E E1 POP HL
\ 019F E1 POP HL
\ 01A0 E1 POP HL
\ 01A1 E1 POP HL
\ 01A2 E1 POP HL
\ 01A3 ?0023:
\ 01A3 ?0020:
\ 01A3 ?0027:
116 }
117
118 }
119 while(ap_get_message() != 0);
\ 01A3 CD0000 CALL LWRD ap_get_message
\ 01A6 B7 OR A
\ 01A7 20FA JR NZ,?0023
\ 01A9 ?0028:
120 break;
\ 01A9 ?0026:
\ 01A9 C3DE00 JP LWRD ?0015
\ 01AC ?0029:
121 case AP_KEY_PREV:
122 case AP_KEY_PREV | AP_KEY_HOLD :
123 if(playlist_active >0)
\ 01AC 2A0000 LD HL,(playlist_active)
\ 01AF 7D LD A,L
\ 01B0 B4 OR H
\ 01B1 2869 JR Z,?0034
\ 01B3 ?0030:
124 {
125 fselGetPrevGroup(Strname);
\ 01B3 DD5EF8 LD E,(IX-8)
\ 01B6 DD56F9 LD D,(IX-7)
\ 01B9 3E00 LD A,BYTE3 fselGetPrevGroup
\ 01BB 210000 LD HL,LWRD fselGetPrevGroup
\ 01BE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
126 playlist_active--;
\ 01C1 2A0000 LD HL,(playlist_active)
\ 01C4 2B DEC HL
127 if(playlist_active/5==cur_grouplist)
\ 01C5 CD6203 CALL LWRD ?0076
\ 01C8 2016 JR NZ,?0033
\ 01CA ?0032:
128 {
129 ShowPlaylist(top,bottom,playlist_active+1,playlist_active,Strname,string_id,1);
\ 01CA 0E01 LD C,1
\ 01CC C5 PUSH BC
\ 01CD DD6E0A LD L,(IX+10)
\ 01D0 E5 PUSH HL
\ 01D1 DD6EF8 LD L,(IX-8)
\ 01D4 DD66F9 LD H,(IX-7)
\ 01D7 E5 PUSH HL
\ 01D8 3A0000 LD A,(playlist_active)
\ 01DB 4F LD C,A
\ 01DC C5 PUSH BC
\ 01DD 3C INC A
\ 01DE 1832 JR ?0069
130 }
131 else
\ 01E0 ?0033:
132 {
133 cur_grouplist=cur_grouplist-1;
\ 01E0 21FFFF LD HL,65535
134 top=(playlist_active/5)*5; //顶的序号
\ 01E3 CD3C03 CALL LWRD ?0075
135 bottom=top+4; //底的序号
136 FSELGetLocation(location);
\ 01E6 CD0003 CALL LWRD ?0071
137 reinit_idm_buf_playlist(top, bottom, Strname, string_id,FALSE); //换页要重新初始化IDM数据
\ 01E9 48 LD C,B
\ 01EA C5 PUSH BC
\ 01EB DD6E0A LD L,(IX+10)
\ 01EE E5 PUSH HL
\ 01EF DD6EF8 LD L,(IX-8)
\ 01F2 DD66F9 LD H,(IX-7)
\ 01F5 E5 PUSH HL
\ 01F6 CD1C03 CALL LWRD ?0073
\ 01F9 E1 POP HL
\ 01FA E1 POP HL
\ 01FB E1 POP HL
138 FSELSetLocation(location);
\ 01FC CD0E03 CALL LWRD ?0072
139 ShowPlaylist(top,bottom,playlist_active,playlist_active,Strname,string_id,1);
\ 01FF 0E01 LD C,1
\ 0201 C5 PUSH BC
\ 0202 DD6E0A LD L,(IX+10)
\ 0205 E5 PUSH HL
\ 0206 DD6EF8 LD L,(IX-8)
\ 0209 DD66F9 LD H,(IX-7)
\ 020C E5 PUSH HL
\ 020D 3A0000 LD A,(playlist_active)
\ 0210 4F LD C,A
\ 0211 C5 PUSH BC
\ 0212 ?0069:
\ 0212 4F LD C,A
\ 0213 C5 PUSH BC
\ 0214 CD2D03 CALL LWRD ?0074
\ 0217 E1 POP HL
\ 0218 E1 POP HL
\ 0219 E1 POP HL
\ 021A E1 POP HL
\ 021B E1 POP HL
\ 021C ?0034:
\ 021C ?0031:
\ 021C ?0036:
140 }
141 }
142 while(ap_get_message() != 0);
\ 021C CD0000 CALL LWRD ap_get_message
\ 021F B7 OR A
\ 0220 20FA JR NZ,?0034
\ 0222 ?0037:
143 break;
\ 0222 ?0035:
\ 0222 C3DE00 JP LWRD ?0015
\ 0225 ?0038:
144
145 case AP_KEY_PLAY | AP_KEY_UP:
146 FSELSetLocation(location); //restore the selecting result
\ 0225 CD0E03 CALL LWRD ?0072
147 result = RESULT_IGNORE;
\ 0228 DD36FA34 LD (IX-6),52
148 goto funreturn;
\ 022C C3D702 JP LWRD ?0039
149 break;
\ 022F ?0040:
150 case AP_KEY_MODE | AP_KEY_LONG:
151 if ( FSELGetLocation(location) ) //store the selecting result
\ 022F CD0003 CALL LWRD ?0071
\ 0232 2C INC L
\ 0233 2D DEC L
\ 0234 2806 JR Z,?0042
\ 0236 ?0041:
152 result = RESULT_NULL;
\ 0236 DD36FA00 LD (IX-6),0
153 else
\ 023A 1804 JR ?0043
\ 023C ?0042:
154 result = RESULT_IGNORE;
\ 023C DD36FA34 LD (IX-6),52
\ 0240 ?0043:
155 goto funreturn;
\ 0240 C3D702 JP LWRD ?0039
156 break;
\ 0243 ?0044:
157 case AP_KEY_MODE | AP_KEY_UP:
158 break;
\ 0243 ?0045:
159 case AP_MSG_WAIT_TIMEOUT:
160 TimeoutCnt++;
\ 0243 DD34FC INC (IX-4)
161 if ( TimeoutCnt >= 24 ) //192秒后退出,因为要看长名滚屏
\ 0246 DD7EFC LD A,(IX-4)
\ 0249 FE18 CP 24
\ 024B 3813 JR C,?0047
\ 024D ?0046:
162 {
163 if (FSELGetLocation(location)) //store the selecting result
\ 024D CD0003 CALL LWRD ?0071
\ 0250 2C INC L
\ 0251 2D DEC L
\ 0252 2806 JR Z,?0049
\ 0254 ?0048:
164 result = RESULT_NULL;
\ 0254 DD36FA00 LD (IX-6),0
165 else
\ 0258 1804 JR ?0050
\ 025A ?0049:
166 result = RESULT_IGNORE;
\ 025A DD36FA34 LD (IX-6),52
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -