ui_licensinf.s01
来自「炬力方案176*132软件源码,适用于AK1025」· S01 代码 · 共 1,073 行 · 第 1/2 页
S01
1,073 行
LD C,L
LD B,H
LD E,(IY+1)
LD D,(IY+2)
JR ?0098
; 233. SetTextPos(80, 70);
; 234. delstartzero(tmpbuf);
; 235. PutS(tmpbuf, -1);
; 236. //if (lan_id == LAN_ID_ENGLISH)
; 237. //{
; 238. // SetTextPos()
; 239. //}
; 240. ResShowMultiString(TTIMES, lan_id, 124, 70);
; 241. return TRUE;
; 242. }
?0047:
; 243.
; 244. case OriginalPlayCntDisp_def:
; 245. if ((infbuf->switchflag & on_PLAYCNT_def) == 0)
BIT 5,(IY+0)
JP Z,?0068
?0048:
; 246. {
; 247. return FALSE;
; 248. }
?0049:
; 249. else
; 250. {
; 251. char tmpbuf[5];
; 252. //显示标题
; 253. ClearScreen(NULL);
CALL LWRD ?0106
; 254. ResShowMultiString(OPLAYCNT, lan_id, 255, 90);
PUSH BC
LD C,255
PUSH BC
LD C,(IX+12)
LD DE,607
CALL LWRD ?0107
POP AF
POP AF
; 255. itoa_4(infbuf->originalPlayCnt, tmpbuf);
LD HL,2
ADD HL,SP
LD C,L
LD B,H
LD E,(IY+3)
LD D,(IY+4)
?0098:
CALL LWRD ?0110
; 256. SetTextPos(80, 70);
; 257. delstartzero(tmpbuf);
ADD HL,SP
CALL LWRD ?0111
; 258. PutS(tmpbuf, -1);
ADD HL,SP
EX DE,HL
CALL LWRD PutS
; 259. ResShowMultiString(TTIMES, lan_id, 124, 70);
LD C,70
PUSH BC
LD C,124
PUSH BC
LD C,(IX+12)
LD DE,609
CALL LWRD ?0107
POP AF
POP AF
; 260. return TRUE;
JR ?0101
; 261.
; 262. }
?0050:
; 263.
; 264. case BeginDateTimeDisp_def:
; 265. if ((infbuf->switchflag & on_BEGINDAT_def) == 0)
BIT 4,(IY+0)
JP Z,?0068
?0051:
; 266. {
; 267. return FALSE;
; 268. }
?0052:
; 269. else
; 270. {
; 271.
; 272. //显示日期时间
; 273. DateTime_t *pBeginDateTime;
; 274. pBeginDateTime = (DateTime_t *)&infbuf->BeginDate;
LD HL,5
PUSH IY
POP BC
ADD HL,BC
; 275. DisplayDate(BEGINDAT, pBeginDateTime, subcnt, lan_id);
LD C,(IX+12)
PUSH BC
LD C,(IX+10)
PUSH BC
LD C,L
LD B,H
LD DE,603
JR ?0105
; 276. return TRUE;
; 277. }
?0053:
; 278.
; 279.
; 280. case ExpDateTimeDisp_def:
; 281. if ((infbuf->switchflag & on_EXPDATE_def) == 0)
BIT 3,(IY+0)
JP Z,?0068
?0054:
; 282. {
; 283. return FALSE;
; 284. }
?0055:
; 285. else
; 286. {
; 287. DateTime_t *pExpDateTime;
; 288. pExpDateTime = (DateTime_t *)&infbuf->ExpDate;
LD HL,12
PUSH IY
POP BC
ADD HL,BC
; 289. DisplayDate(EXPDATE, pExpDateTime, subcnt, lan_id);
LD C,(IX+12)
PUSH BC
LD C,(IX+10)
PUSH BC
LD C,L
LD B,H
LD DE,604
?0105:
LD A,BYTE3 DisplayDate
LD HL,LWRD DisplayDate
CALL LWRD ?BANK_CALL_DIRECT_L08
POP HL
POP HL
; 290. return TRUE;
?0101:
JR ?0102
; 291. }
?0056:
; 292.
; 293. case RemainTimeDisp_def:
; 294. if ((infbuf->switchflag & on_REMAINTM_def) == 0)
BIT 2,(IY+0)
JP Z,?0068
?0057:
; 295. {
; 296. return FALSE;
; 297. }
?0058:
; 298. else
; 299. {
; 300. char tmpbuf[5];
; 301. ClearScreen(NULL);
CALL LWRD ?0106
; 302. ResShowMultiString(REMAINTM, lan_id, 255, 90);
PUSH BC
LD C,255
PUSH BC
LD C,(IX+12)
LD DE,605
CALL LWRD ?0107
POP AF
POP AF
; 303. itoa_4(infbuf->RemainTime, tmpbuf);
LD HL,2
ADD HL,SP
LD C,L
LD B,H
LD E,(IY+19)
LD D,(IY+20)
CALL LWRD ?0110
; 304. SetTextPos(80, 70);
; 305. delstartzero(tmpbuf);
ADD HL,SP
CALL LWRD ?0111
; 306. PutS(tmpbuf, -1);
ADD HL,SP
EX DE,HL
CALL LWRD PutS
; 307. ResShowMultiString(HOURS, lan_id, 124, 70);
LD C,70
PUSH BC
LD C,124
PUSH BC
LD C,(IX+12)
LD DE,610
CALL LWRD ?0107
POP AF
POP AF
; 308. return TRUE;
?0102:
JR ?0103
; 309. }
?0059:
; 310.
; 311. case RemainStoreTimeDisp_def:
; 312. if ((infbuf->switchflag & on_REMAINST_def) == 0)
BIT 1,(IY+0)
JR Z,?0068
?0060:
; 313. {
; 314. return FALSE;
; 315. }
?0061:
; 316. else
; 317. {
; 318. char tmpbuf[5];
; 319. ClearScreen(NULL);
CALL LWRD ?0106
; 320. ResShowMultiString(REMAINST, lan_id, 255, 90);
PUSH BC
LD C,255
PUSH BC
LD C,(IX+12)
LD DE,606
CALL LWRD ?0107
POP AF
POP AF
; 321. itoa_4(infbuf->RemainStoreTime, tmpbuf);
LD HL,2
ADD HL,SP
LD C,L
LD B,H
LD E,(IY+21)
LD D,(IY+22)
CALL LWRD ?0110
; 322. SetTextPos(80, 70);
; 323. delstartzero(tmpbuf);
ADD HL,SP
CALL LWRD ?0111
; 324. PutS(tmpbuf, -1);
ADD HL,SP
EX DE,HL
CALL LWRD PutS
; 325. ResShowMultiString(TDAY, lan_id, 124, 70);
LD C,70
PUSH BC
LD C,124
PUSH BC
LD C,(IX+12)
LD DE,608
CALL LWRD ?0107
POP AF
POP AF
; 326. return TRUE;
?0103:
JR ?0067
; 327. }
?0062:
; 328.
; 329. case DealOnClkBckDisp_def:
; 330. if ((infbuf->switchflag & on_DEALCLKBCK_def) == 0)
BIT 0,(IY+0)
JR Z,?0068
?0063:
; 331. {
; 332. return FALSE;
; 333. }
?0064:
; 334. else
; 335. {
; 336. if (infbuf->DealOnClkBck == 0)
LD A,(IY+23)
OR A
JR NZ,?0066
?0065:
; 337. {
; 338. ClearScreen(NULL);
LD E,A
LD D,A
CALL LWRD ClearScreen
; 339. ResShowMultiString(DELCKBCK, lan_id, 255, 80);
LD C,80
PUSH BC
LD C,255
PUSH BC
LD C,(IX+12)
LD DE,419
JR ?0090
; 340. }
; 341. else
?0066:
; 342. {
; 343. ClearScreen(NULL);
LD DE,0
CALL LWRD ClearScreen
; 344. ResShowMultiString(DISCKBCK, lan_id, 255, 80);
LD C,80
PUSH BC
LD C,255
PUSH BC
LD C,(IX+12)
LD DE,420
?0090:
CALL LWRD ?0107
POP AF
POP AF
?0067:
; 345. }
; 346. return TRUE;
LD L,1
; 347. }
JR ?0069
?0068:
; 348.
; 349. default:
; 350. return FALSE;
LD L,0
; 351. }
?0069:
POP IY
JP LWRD ?BANK_LEAVE_DIRECT_L08
?0106:
LD DE,0
CALL LWRD ClearScreen
LD C,90
RET
?0110:
LD A,BYTE3 itoa_4
LD HL,LWRD itoa_4
CALL LWRD ?BANK_CALL_DIRECT_L08
LD C,70
LD E,80
CALL LWRD SetTextPos
LD HL,2
RET
?0111:
EX DE,HL
LD A,BYTE3 delstartzero
LD HL,LWRD delstartzero
CALL LWRD ?BANK_CALL_DIRECT_L08
LD C,255
LD HL,2
RET
?0043:
; 352. }
DisplayDate:
; 353.
; 354. void DisplayDate(int ID, DateTime_t *pDate,char discnt, BYTE string_id)
; 355. {
CALL LWRD ?ENT_AUTO_DIRECT_L09
DEFW 65524
PUSH IY
PUSH BC
POP IY
; 356. char disbuf[11];
; 357. ClearScreen(NULL);
LD DE,0
CALL LWRD ClearScreen
; 358. ResShowMultiString(ID, string_id, 255, 90);
LD E,90
PUSH DE
LD E,255
PUSH DE
LD C,(IX+12)
LD E,(IX+2)
LD D,(IX+3)
CALL LWRD ?0107
POP AF
POP AF
; 359. itoa_4(pDate->date.year, &disbuf[0]);
LD HL,2
ADD HL,SP
LD C,L
LD B,H
LD E,(IY+0)
LD D,(IY+1)
LD A,BYTE3 itoa_4
LD HL,LWRD itoa_4
CALL LWRD ?BANK_CALL_DIRECT_L08
; 360. itoa_2(pDate->date.month, &disbuf[5]);
LD HL,2
ADD HL,SP
LD BC,5
ADD HL,BC
LD C,L
LD B,H
LD E,(IY+2)
CALL LWRD ?0112
; 361. itoa_2(pDate->date.day, &disbuf[8]);
ADD HL,SP
LD BC,8
ADD HL,BC
LD C,L
LD B,H
LD E,(IY+3)
LD A,BYTE3 itoa_2
LD HL,LWRD itoa_2
CALL LWRD ?BANK_CALL_DIRECT_L08
; 362. disbuf[4] = '-';
LD (IX-8),45
; 363. disbuf[7] = '-';
LD (IX-5),45
; 364. SetTextPos(24, 70);
LD C,70
LD E,24
CALL LWRD SetTextPos
; 365. PutS(disbuf, -1);
LD C,255
LD HL,2
ADD HL,SP
EX DE,HL
CALL LWRD PutS
; 366.
; 367. itoa_2(pDate->time.hour, &disbuf[0]);
LD HL,2
ADD HL,SP
LD C,L
LD B,H
LD E,(IY+4)
CALL LWRD ?0112
; 368. itoa_2(pDate->time.minute, &disbuf[3]);
ADD HL,SP
LD BC,3
ADD HL,BC
LD C,L
LD B,H
LD E,(IY+5)
CALL LWRD ?0112
; 369. itoa_2(pDate->time.second, &disbuf[6]);
ADD HL,SP
LD BC,6
ADD HL,BC
LD C,L
LD B,H
LD E,(IY+6)
LD A,BYTE3 itoa_2
LD HL,LWRD itoa_2
CALL LWRD ?BANK_CALL_DIRECT_L08
; 370. disbuf[2] = ':';
LD (IX-10),58
; 371. disbuf[5] = ':';
LD (IX-7),58
; 372. SetTextPos(114, 70);
LD C,70
LD E,114
CALL LWRD SetTextPos
; 373. PutS(disbuf, -1);
LD C,255
LD HL,2
ADD HL,SP
EX DE,HL
CALL LWRD PutS
; 374.
; 375.
; 376. }
POP IY
JP LWRD ?BANK_LEAVE_DIRECT_L08
?0112:
LD A,BYTE3 itoa_2
LD HL,LWRD itoa_2
CALL LWRD ?BANK_CALL_DIRECT_L08
LD HL,2
RET
delstartzero:
; 377.
; 378. void delstartzero(char* buf)
; 379. {
CALL LWRD ?ENT_AUTO_DIRECT_L09
DEFW 65534
LD E,(IX+2)
LD L,E
LD D,(IX+3)
LD H,D
; 380. char i;
; 381. if (buf[0]=='\0')
XOR A
OR (HL)
JR Z,?0072
?0070:
; 382. {
; 383. return;
; 384. }
?0071:
; 385.
; 386. for(i=0; buf[i]!='\0'; i++)
LD (IX-2),0
?0073:
LD C,(IX-2)
LD B,0
LD L,E
LD H,D
ADD HL,BC
LD A,(HL)
OR A
JR Z,?0072
?0074:
; 387. {
; 388. if (buf[i]=='0')
LD L,E
LD H,D
ADD HL,BC
LD A,(HL)
CP 48
JR NZ,?0072
?0076:
; 389. {
; 390. if (buf[i+1] == '\0')
LD L,E
LD H,D
ADD HL,BC
INC HL
LD A,(HL)
OR A
JR Z,?0072
?0078:
; 391. {
; 392. return;
; 393. }
?0079:
; 394. buf[i] = ' ';
LD L,E
LD H,D
ADD HL,BC
LD (HL),32
; 395. }
; 396. else
?0077:
; 397. {
; 398. break;
?0080:
INC (IX-2)
; 399. }
; 400. }
; 401. }
JR ?0073
?0072:
?0081:
JP LWRD ?BANK_LEAVE_DIRECT_L08
; 402.
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?