📄 main.lst
字号:
\ 0082 39 ADD HL,SP
\ 0083 F9 LD SP,HL
\ 0084 DDE1 POP IX
\ 0086 D1 POP DE
\ 0087 C1 POP BC
\ 0088 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 008B ui_show_h:
86
87 void ui_show_h(const char *string) //显示歌曲曲目
88 {
\ 008B C5 PUSH BC
\ 008C D5 PUSH DE
\ 008D F5 PUSH AF
\ 008E F5 PUSH AF
\ 008F F5 PUSH AF
\ 0090 F5 PUSH AF
89 /*
90 WORD id;
91 id = *string-0x30;
92 main_ResShowPic(MNUM0+id,POS_SONGNUM-8,POSY_SONGNUM);
93 string++;
94 id= *string-0x30;
95 main_ResShowPic(MNUM0+id,POS_SONGNUM,POSY_SONGNUM);
96 string++;
97 id= *string-0x30;
98 main_ResShowPic(MNUM0+id,POS_SONGNUM+8,POSY_SONGNUM);
99 main_ResShowPic(SINGLINE,POS_SONGNUM+16,POSY_SONGNUM);
100 string++;
101 id= *string-0x30;
102 main_ResShowPic(MNUM0+id,POS_SONGNUM+24,POSY_SONGNUM);
103 string++;
104 id= *string-0x30;
105 main_ResShowPic(MNUM0+id,POS_SONGNUM+32,POSY_SONGNUM);
106 string++;
107 id= *string-0x30;
108 main_ResShowPic(MNUM0+id,POS_SONGNUM+40,POSY_SONGNUM);
109 */
110 DC oldDC_sav;
111 GetDCStatus(&oldDC_sav);
\ 0091 210000 LD HL,0
\ 0094 39 ADD HL,SP
\ 0095 EB EX DE,HL
\ 0096 CD0000 CALL LWRD GetDCStatus
112 SetPenColor(Color_BLACK_def);
\ 0099 010000 LD BC,0
\ 009C 59 LD E,C
\ 009D 50 LD D,B
\ 009E CD0000 CALL LWRD SetPenColor
113 SetBackgdColor(Color_MENU_def);
\ 00A1 010000 LD BC,0
\ 00A4 11FFFF LD DE,65535
\ 00A7 CD0000 CALL LWRD SetBackgdColor
114
115 SetAsciiFont(FONT_TYPE_SMALL);
\ 00AA 1E00 LD E,0
\ 00AC CD0000 CALL LWRD SetAsciiFont
116 SetTextPos(4, 23);
\ 00AF 0E17 LD C,23
\ 00B1 1E04 LD E,4
\ 00B3 CD0000 CALL LWRD SetTextPos
117 PutS(string, -1);
\ 00B6 0EFF LD C,255
\ 00B8 210800 LD HL,8
\ 00BB 39 ADD HL,SP
\ 00BC 5E LD E,(HL)
\ 00BD 23 INC HL
\ 00BE 56 LD D,(HL)
\ 00BF CD0000 CALL LWRD PutS
118 SetAsciiFont(FONT_TYPE_DEFAULT);
\ 00C2 1E04 LD E,4
\ 00C4 CD0000 CALL LWRD SetAsciiFont
119
120 SetPenColor(oldDC_sav.PenColor);
\ 00C7 210000 LD HL,0
\ 00CA 39 ADD HL,SP
\ 00CB 5E LD E,(HL)
\ 00CC 23 INC HL
\ 00CD 56 LD D,(HL)
\ 00CE 23 INC HL
\ 00CF 4E LD C,(HL)
\ 00D0 23 INC HL
\ 00D1 46 LD B,(HL)
\ 00D2 CD0000 CALL LWRD SetPenColor
121 SetBackgdColor(oldDC_sav.BackgdColor);
\ 00D5 210400 LD HL,4
\ 00D8 39 ADD HL,SP
\ 00D9 5E LD E,(HL)
\ 00DA 23 INC HL
\ 00DB 56 LD D,(HL)
\ 00DC 23 INC HL
\ 00DD 4E LD C,(HL)
\ 00DE 23 INC HL
\ 00DF 46 LD B,(HL)
\ 00E0 CD0000 CALL LWRD SetBackgdColor
122 }
\ 00E3 210A00 LD HL,10
\ 00E6 39 ADD HL,SP
\ 00E7 F9 LD SP,HL
\ 00E8 C1 POP BC
\ 00E9 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 00EC show_error:
123
124
125
126 //=================== funcs =========================
127 //extern void MY_DUMP(char *string, int value);
128 /*
129 ********************************************************************************
130 * Description : show error msg and wait 2s
131 *
132 * Arguments : msg_id, 错误提示信息的资源代号
133 *
134 * Returns : 结果消息, 或0
135 *
136 * Notes :
137 *
138 ********************************************************************************
139 */
140 int show_error(WORD msg_id)
141 {
\ 00EC C5 PUSH BC
\ 00ED DDE5 PUSH IX
142
143
144
145 ui_show_msg(msg_id,msg_id,g_comval.langid);
\ 00EF ED4B0C00 LD BC,(g_comval+12)
\ 00F3 0600 LD B,0
\ 00F5 C5 PUSH BC
\ 00F6 4B LD C,E
\ 00F7 42 LD B,D
\ 00F8 3E00 LD A,BYTE3 ui_show_msg
\ 00FA 210000 LD HL,LWRD ui_show_msg
\ 00FD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0100 F1 POP AF
\ 0101 ?0011:
146
147 //clear message queue for make sure delay 2s
148 while(ap_get_message() != 0) {;}
\ 0101 CD0000 CALL LWRD ap_get_message
\ 0104 B7 OR A
\ 0105 20FA JR NZ,?0011
\ 0107 ?0012:
\ 0107 ?0010:
149
150 return ap_sleep(4);
\ 0107 110400 LD DE,4
\ 010A 3E00 LD A,BYTE3 ap_sleep
\ 010C 210000 LD HL,LWRD ap_sleep
\ 010F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0112 2600 LD H,0
151 }
\ 0114 DDE1 POP IX
\ 0116 C1 POP BC
\ 0117 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 011A time_cmp:
152
153 /*
154 ********************************************************************************
155 * Description : 比较两个时间的大小
156 *
157 * Arguments :
158 *
159 * Returns : =0, time1 = time2
160 >0, time1 > time2
161 <0, time1 < time2
162 *
163 * Notes :
164 *
165 ********************************************************************************
166 */int time_cmp(const time_t *time1, const time_t *time2)
167 {
\ 011A FDE5 PUSH IY
\ 011C DDE5 PUSH IX
\ 011E DD210000 LD IX,0
\ 0122 DD39 ADD IX,SP
\ 0124 D5 PUSH DE
\ 0125 C5 PUSH BC
\ 0126 FDE1 POP IY
168 if(time1->hour == time2->hour)
\ 0128 0A LD A,(BC)
\ 0129 47 LD B,A
\ 012A 1A LD A,(DE)
\ 012B B8 CP B
\ 012C 2022 JR NZ,?0014
\ 012E ?0013:
169 {
170 if(time1->minute == time2->minute)
\ 012E EB EX DE,HL
\ 012F 23 INC HL
\ 0130 7E LD A,(HL)
\ 0131 FDBE01 CP (IY+1)
\ 0134 2013 JR NZ,?0016
\ 0136 ?0015:
171 {
172 if(time1->second == time2->second)
\ 0136 23 INC HL
\ 0137 7E LD A,(HL)
\ 0138 FDBE02 CP (IY+2)
\ 013B 2005 JR NZ,?0018
\ 013D ?0017:
173 {
174 return 0;
\ 013D 210000 LD HL,0
175 }
\ 0140 1819 JR ?0019
\ 0142 ?0018:
176 else
177 {
178 return ((int)(time1->second) - time2->second);
\ 0142 FD4E02 LD C,(IY+2)
\ 0145 0600 LD B,0
\ 0147 180D JR ?0113
179 }
\ 0149 ?0016:
180 }
181 else
182 {
183 return ((int)(time1->minute) - time2->minute);
\ 0149 FD4E01 LD C,(IY+1)
\ 014C 0600 LD B,0
\ 014E 1806 JR ?0113
184 }
\ 0150 ?0014:
185 }
186 else
187 {
188 return ((int)(time1->hour) - time2->hour);
\ 0150 FD4E00 LD C,(IY+0)
\ 0153 0600 LD B,0
\ 0155 EB EX DE,HL
\ 0156 ?0113:
\ 0156 6E LD L,(HL)
\ 0157 60 LD H,B
\ 0158 A7 AND A
\ 0159 ED42 SBC HL,BC
189 }
\ 015B ?0019:
\ 015B DDF9 LD SP,IX
\ 015D DDE1 POP IX
\ 015F FDE1 POP IY
\ 0161 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
190 }
\ 0164 parse_file:
191
192 /*
193 ********************************************************************************
194 * Description : 分析当前文件的名字,类型和建立时间, 播放总时间
195 *
196 * Arguments :
197 全局变量
198 g_voice_vars.location, 文件全路径
199 *
200 * Returns : 成功, TRUE
201 失败, FALSE
202 全局变量
203 g_voice_type, 文件类型
204 g_file_name_time, 文件的名字和建立时间
205 g_play_status, 文件的播放总时间
206 *
207 * Notes :
208 *
209 ********************************************************************************
210 */
211 BOOL parse_file(void)
212 {
\ 0164 C5 PUSH BC
\ 0165 D5 PUSH DE
\ 0166 FDE5 PUSH IY
\ 0168 DDE5 PUSH IX
\ 016A DD210000 LD IX,0
\ 016E DD39 ADD IX,SP
\ 0170 21F0FF LD HL,65520
\ 0173 39 ADD HL,SP
\ 0174 F9 LD SP,HL
213 int result;
214 fs_crt_time_t time;
215 handle f_handle;
216 char len;
217
218 FSELSetMode(FSEL_ALL_REPEATALL);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -