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 + -
显示快捷键?