📄 ui_main_for_music.s01
字号:
LD A,(ui_auto_update)
OR A
JR Z,?0005
?0004:
LD DE,res_region
CALL LWRD UpdateScreen
?0005:
; 152. return 1;
LD HL,1
; 153. }
?0006:
POP AF
POP AF
POP AF
POP AF
JP LWRD ?BANK_FAST_LEAVE_L08
ui_show_a:
; 154.
; 155.
; 156.
; 157. void ui_show_a(WORD id) //音乐类型
; 158. {
PUSH BC
PUSH DE
; 159. main_ResShowPic(id, POS_TYPE, POSY_TYPE);
LD C,4
PUSH BC
LD C,66
?0040:
CALL LWRD ?0045
POP AF
; 160.
; 161. }
POP HL
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
?0046:
LD E,A
LD D,0
LD HL,177
?0047:
ADD HL,DE
EX DE,HL
?0045:
LD A,BYTE3 main_ResShowPic
LD HL,LWRD main_ResShowPic
JP LWRD ?BANK_CALL_DIRECT_L08
ui_show_b:
; 162. void ui_show_b(WORD id) //播放模式
; 163. {
PUSH BC
PUSH DE
; 164. main_ResShowPic(id, POS_PALYMODE, POSY_PALYMODE);
LD C,0
PUSH BC
LD C,128
JP LWRD ?0040
; 165. }
ui_show_c:
; 166.
; 167. //id =0, clear the icon
; 168. void ui_show_c(WORD id) //EQ
; 169. {
PUSH BC
PUSH DE
; 170. main_ResShowPic(id,POS_EQ,POSY_EQ);
LD C,4
PUSH BC
LD C,178
JP LWRD ?0040
; 171. }
ui_show_d:
; 172.
; 173.
; 174.
; 175. void ui_show_d(const char *string) //显示当前时间
; 176. { char id;
PUSH BC
PUSH IX
PUSH AF
PUSH DE
POP IX
; 177. id=*string-0x30;
LD A,(DE)
ADD A,208
; 178. main_ResShowPic(PRGNUM0+id,POS_SONGTIME,POSY_SONGTIME);
LD C,50
PUSH BC
LD C,62
CALL LWRD ?0046
POP AF
; 179. string++;
; 180. id= *string-0x30;
LD A,(IX+1)
ADD A,208
; 181. main_ResShowPic(PRGNUM0+id,POS_SONGTIME+24,POSY_SONGTIME);
LD C,50
PUSH BC
LD C,86
CALL LWRD ?0046
POP AF
; 182. string++;
; 183. id= *string-0x30;
LD A,(IX+2)
ADD A,208
; 184. main_ResShowPic(PRGNUM0+id,POS_SONGTIME+40,POSY_SONGTIME);
LD C,50
PUSH BC
LD C,102
CALL LWRD ?0046
POP AF
; 185. string++;
; 186. id= *string-0x30;
LD A,(IX+3)
ADD A,208
; 187. main_ResShowPic(PRGNUM0+id,POS_SONGTIME+62,POSY_SONGTIME);
LD C,50
PUSH BC
LD C,124
CALL LWRD ?0046
POP AF
; 188. string++;
; 189. id= *string-0x30;
LD A,(IX+4)
ADD A,208
; 190. main_ResShowPic(PRGNUM0+id,POS_SONGTIME+78,POSY_SONGTIME);
LD C,50
PUSH BC
LD C,140
CALL LWRD ?0046
POP AF
; 191. }
POP HL
POP IX
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
ui_show_f:
; 192.
; 193.
; 194. void ui_show_f(const char *string) //文件名/滚屏显示
; 195. {
PUSH BC
PUSH DE
; 196. SetTextPos(POS_SCROLLSTRAT, POSY_SCROLL);
LD C,110
?0042:
LD E,45
CALL LWRD SetTextPos
; 197. PutS(string, -1);
LD C,255
LD HL,0
ADD HL,SP
LD E,(HL)
INC HL
LD D,(HL)
CALL LWRD PutS
; 198. }
POP HL
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
ui_show_g:
; 199.
; 200. void ui_show_g(const char *string) //文件名显示
; 201. {
PUSH BC
PUSH DE
; 202. SetTextPos(POS_FILENAME, POSY_FILENAME);
LD C,79
JP LWRD ?0042
; 203. PutS(string, -1);
; 204. }
ui_show_batt:
; 205.
; 206.
; 207. /* event r: reset
; 208. * event l: battery empty
; 209. * event h: battery full
; 210. * event n: nmi, auto standby
; 211. * event r1: stop recording point, file < 32M
; 212. * event r2: stop recording point, file > 32M
; 213. *
; 214. * value voltage 碱性电池 镍氢电池 锂电池
; 215. * 0 0.90 r
; 216. * 1 0.94
; 217. * 2 0.98 n r
; 218. * 3 1.02
; 219. * 4 1.06 l,r1 n
; 220. * 5 1.10 r2 l,r1
; 221. * 6 1.14 r2
; 222. * 7 1.18
; 223. * 8 1.22
; 224. * 9 1.26
; 225. * 10 1.30 n
; 226. * 11 1.34 l,r1
; 227. * 12 1.38 h h r2
; 228. * 13 1.42
; 229. * 14 1.46
; 230. * 15 1.50 h
; 231. */
; 232. //0~15, -1 表示正在充电
; 233. void ui_show_batt(int value, char batt_type,bool fmflag)
; 234. {
PUSH IX
PUSH BC
PUSH DE
POP IX
; 235. static int cur_value=0; //当前电量值
; 236.
; 237. //ASSERT(value == -1 || (value >= 0 && value <= 15));
; 238. // if((charge_flag==1)&&((input8(0xbe)&0x10)!=0))
; 239. // value=-1;
; 240.
; 241. if((sKY_ChargeSet(0)!=0)&&(input8(0x9c)<0xe4))
LD E,0
CALL LWRD sKY_ChargeSet
OR A
JR Z,?0009
IN A,(156)
CP 228
JR NC,?0009
?0011:
?0010:
?0008:
; 242. {
; 243. cur_value++;
LD HL,(?0007)
INC HL
LD (?0007),HL
; 244. if(cur_value > 8) cur_value = 0;
LD C,L
LD B,H
LD HL,8
OR 128
SBC HL,BC
JP PO,?0032
XOR H
?0032:
JP P,?0020
?0012:
JR ?0037
?0013:
; 245. }
; 246. else
?0009:
; 247. {
; 248. //if(batt_type == BATT_TYPE_ALKALINE) //碱性电池
; 249. //{
; 250. // if(value < 62) cur_value = 0; //batt empty
; 251. // else if(value > 116 ) cur_value = 8; //batt full
; 252. // else cur_value = (value - 62) / 7; // 116 - 62
; 253. //}
; 254. //else if(batt_type == BATT_TYPE_NIH) //镍氢电池
; 255. //{
; 256. // if(value < 69) cur_value = 0; //batt empty
; 257. // else if(value > 116 ) cur_value = 8; //batt full
; 258. // else cur_value = (value - 69) / 6;
; 259. // }
; 260. // else if(batt_type == BATT_TYPE_LITHIUM) //锂电池 3.5~4.2 工作电压 //
; 261. {
; 262. if(value < 175) cur_value = 0; //batt empty
LD BC,32943
PUSH IX
POP HL
LD A,B
XOR H
LD H,A
SBC HL,BC
JR NC,?0016
?0015:
?0037:
LD HL,0
JR ?0034
?0016:
; 263. else if(value > 201)cur_value = 8;
PUSH IX
POP BC
LD HL,201
OR L
SBC HL,BC
JP PO,?0033
XOR H
?0033:
JP P,?0019
?0018:
LD HL,8
?0034:
LD (?0007),HL
JR ?0020
?0019:
; 264. else cur_value = (value - 175) / 4; // zxs change
LD HL,65361
ADD HL,BC
EX DE,HL
LD BC,4
CALL LWRD ?SS_DIV_L02
LD (?0007),DE
?0020:
?0017:
?0014:
; 265. }
; 266. // else ASSERT(FALSE);
; 267. }
; 268. if(!fmflag)
?0021:
; 269. main_ResShowPic(BATTERY1+cur_value, POS_BATTERY,POSY_BATTERY);
; 270. else
?0022:
; 271. main_ResShowPic(BATTERY1+cur_value, POS_BATTERY,POSY_BATTERY);
LD C,162
PUSH BC
LD C,193
LD HL,19
LD DE,(?0007)
CALL LWRD ?0047
POP AF
?0023:
; 272. }
POP HL
POP IX
JP LWRD ?BANK_FAST_LEAVE_L08
ui_show_lock:
; 273.
; 274. char ui_show_lock(char islock)
; 275. {
PUSH BC
PUSH DE
; 276. if(islock == 1)
LD B,E
DEC B
JR NZ,?0025
?0024:
; 277. {
; 278. SetBackgdColor(Color_BULE1_def);
LD C,B
LD DE,30014
CALL LWRD SetBackgdColor
; 279. ClearScreen(NULL);
LD DE,0
CALL LWRD ClearScreen
; 280. ResShowPic(UDLOCK_S,86,80);
LD C,80
PUSH BC
LD C,86
LD DE,8
LD A,BYTE3 ResShowPic
LD HL,LWRD ResShowPic
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
?0025:
; 281. }
; 282.
; 283. //wait 2s
; 284. return ap_sleep(4);
LD DE,4
LD A,BYTE3 ap_sleep
LD HL,LWRD ap_sleep
CALL LWRD ?BANK_CALL_DIRECT_L08
; 285. }
POP AF
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
; 286.
; 287.
RSEG IDATA0
?0007:
DEFS 2
RSEG CDATA0
DEFW 0
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -