📄 main.a74.bak
字号:
[m_ir1fantem] = [sleepm_ir1fantem]
endif
CLB ir1_onoff
JSR FunExec_KeyPower
[bTestForce] = 0
[b_remamber] = 1
endif
endif
endif
endif
RTS
Fun_ChuckSum: ;JIE MA
LDA M_RxdAdress0
AND #0FH
STA M_RxdBuffer
RRF M_RxdBuffer
LDA M_RxdAdress1
AND #0FH
ORA M_RxdBuffer
STA M_CheckAdress0
LDA M_RxdAdress2
AND #0FH
STA M_RxdBuffer
RRF M_RxdBuffer
LDA M_RxdAdress3
AND #0FH
ORA M_RxdBuffer
STA M_CheckAdress1; two address
[M_SetAdress0] = [M_CheckAdress0] ;20041207
[M_SetAdress1] = [M_CheckAdress1]
;---------------------------------------------------2address
LDA M_RxdRemote0
AND #0FH
STA M_RxdBuffer
RRF M_RxdBuffer
LDA M_RxdRemote1
AND #0FH
ORA M_RxdBuffer
STA ir3mode
;-----------------------------------------------------ir3mode
LDA M_RxdRemote2
AND #0FH
STA M_RxdBuffer
RRF M_RxdBuffer
LDA M_RxdRemote3
AND #0FH
ORA M_RxdBuffer
STA ir3fantem
;-------------------------------------------------------ir3fantem
LDA M_RxdRemote4
AND #0FH
STA M_RxdBuffer
RRF M_RxdBuffer
LDA M_RxdRemote5
AND #0FH
ORA M_RxdBuffer
STA ir3timer
;--------------------------------------------------------ir3timer
LDA M_RxdRemote6
AND #0FH
STA M_RxdBuffer
RRF M_RxdBuffer
LDA M_RxdRemote7
AND #0FH
ORA M_RxdBuffer
STA ir3else
;-------------------------------------------------------ir3else
LDA M_CheckAdress0
EOR M_CheckAdress1
EOR ir3else
EOR ir3timer
EOR ir3fantem
EOR ir3mode
STA M_CheckSum ;after eor ---M_CHECKSUM
;-------------------------------------------------------chen jiaoyan
LDA M_RxdChuck0
AND #0FH
STA M_RxdBuffer
RRF M_RxdBuffer
LDA M_RxdChuck1
AND #0FH
ORA M_RxdBuffer
STA M_RxdBuffer;
if [M_RxdBuffer] == [M_CheckSum]
SEB b_RxdChuckflag
endif
RTS
;------------------------------------------------------compare
FUN_CommRun:
IF [b_RxdChuckflag] == 1
if [b_Commchang] == 1
CLB b_LVCDispflag
if [b_SigerCool] == 1 ;2004.5.22 add
if [ir3mode] & 00001111b == 00001100b
CLB b_Rxdflag ;2004.5.23
CLB b_RxdChuckflag
rts
endif
endif
[m_ir1mode] = [ir3mode]
;LDA ir3mode
;AND #0FH
;STA M_RxdBuffer
;;LDA m_ir1mode
;AND #F0H
;ORA M_RxdBuffer
;STA m_ir1mode ;mode
;[m_ir1else] = [ir3else]
;LDA ir3else
;AND #33H
;STA M_RxdBuffer
;LDA m_ir1else
;AND #0CCH
;ORA M_RxdBuffer
;STA m_ir1else
[ir3else] = [ir3else]&02H
IF [ir3else] == 02H
[ir1_light] = 1
ELSE
[ir1_light] = 0
ENDIF
;[ir1timer] = [ir3timer]
;RRF ir3fantem
[m_ir1fantem]= [ir3fantem]
RRF m_ir1fantem
[remote_end] = 1
seb Comm_end
SEB b_Bezzon ; 2002,8,9 for eeprom
seb bstart_timerx
[soundtime] = 00h
clB Start_timerX
[e2enwrite] = 1 ;040510
endif
CLB b_Rxdflag
CLB b_RxdChuckflag
endif
;CLB b_LVCDispflag ;2004.5.7
[bTestForce] = 0
JSR FunExec_KeyPower
RTS
FUN_Receive:
;[b_RxdChuckflag] = 1;
;[b_Rxdflag] = 1
;[M_RxdStart] = 06H
if [b_Rxdflag] == 1
JSR Fun_ChuckSum
if [b_RxdChuckflag] == 1
jsr choose_head
[m_Rxdcount] = 00H
CLB b_Rxdflag
else
[m_Rxdcount] = 00H
CLB b_Rxdflag
endif
endif
RTS
choose_head:
lswitch [M_RxdStart]
case 05H ; 0
JSR FUN_CommRun
;[TxdCheck] = 1
JSR Fun_TxdCheckSum
[ICON2] = CommTxdCON2
nop
nop
if [m_TxdCount] == 00H
[TB_RB] = 08H
inc m_TxdCount
endif
break
case 06H ; 0
;[TxdCheck] = 1
JSR Fun_TxdCheckSum
[ICON2] = CommTxdCON2
nop
nop
if [m_TxdCount] == 00H
[TB_RB] = 08H
inc m_TxdCount
endif
break
case 07H ; 0
;if [M_CheckAdress0] == [M_SetAdress0] && [M_CheckAdress1] == [M_SetAdress1]; 20041207
JSR FUN_CommRun
;[TxdCheck] = 1
JSR Fun_TxdCheckSum
[ICON2] = CommTxdCON2
[m_TxdCount] = 00h
if [m_TxdCount] == 00H
[TB_RB] = 08H
inc m_TxdCount
endif
;endif
break
;case 0BH ;20040530
;JSR Fun_TxdCheckSum
;[ICON2] = CommTxdCON2
;if [m_TxdCount] == 00H
; [TB_RB] = 08H
; inc m_TxdCount
;ENDIF
; BREAK
case 0AH ; 0
[M_SetAdress0] = [M_CheckAdress0]
[M_SetAdress1] = [M_CheckAdress1]
JSR FUN_CommRun
;[TxdCheck] = 1
JSR Fun_TxdCheckSum
[ICON2] = CommTxdCON2
nop
nop
if [m_TxdCount] == 00H
[TB_RB] = 08H
inc m_TxdCount
endif
break
default
break
ends
RTS
IntVect_Rxd:
pha
txa
pha
A = X
pha
CLI
CLD
CLT
CLB Rxd_request
if [b_RSTART]==0
if [TB_RB]==05H
SEB b_RSTART
ENDIF
if [TB_RB]==06H
SEB b_RSTART
ENDIF
if [TB_RB]==07H
SEB b_RSTART
ENDIF
if [TB_RB]==0AH
SEB b_RSTART
ENDIF
ENDIF
if [b_Rxdflag] == 0
IF [b_RSTART]==1
LDX m_Rxdcount
[M_Buffer,X] = [TB_RB]
if [m_Rxdcount] >= 18
[m_Rxdcount] = 00H
CLB b_RSTART ;20040605
else
INC m_Rxdcount
endif
ENDIF
ENDIF
if [TB_RB] == 0DH && [m_Rxdcount] == 16
SEB b_Rxdflag
CLB b_RSTART
[m_Rxdcount] = 00H
endif
pla
X = A
pla
tax
pla
RTI
Fun_TxdCheckSum:
LDM #00H,m_TxdStatue1
LDM #00H,m_TxdStatue2
LDM #00H,m_TxdStatue3 ;04.5.8
; if [irLRSwing] == 1
;SEB b_TxdLRSwing
;endif
if [ir_swing] == 1
SEB b_TxdULSwing
endif
if [ir1_light] == 1
SEB b_TxdLight
endif
;if [Heat] ==1
;CLB b_TxdHeater
;endif
if [H_fan] == 1
SEB b_TxdHighFan
endif
if [M_fan] == 1
SEB b_TxdHighMin
endif
if [L_fan] == 1
SEB b_TxdHighLow
endif
if [Out_FanHigh] == 1
SEB b_TxdOutHigh
endif
if [Four_valve] == 1
SEB b_TxdFourvalve
endif
if [Comp] == 1
SEB b_TxdCompressor
endif
if [recool_flag] == 1
SEB b_TxdRecool
endif
;if [TxdCompIflag] == 1
;SEB b_TxdCompIflag
;endif
;if [b_LVCDispflag] == 1 ;20040618
;SEB b_TxdCompIflag
;ENDIF
;if [b_remamflag] == 1
SEB b_TxdRemamber
;endif
if [b_SigerCool]==1
seb b_TxdmodeType
endif
translatsendnum:
[irsmode] = [m_irmode]
;[irsfantem] = [ir3fantem] ;04.05.08
[irsfantem] = [m_ir1fantem]
RRF irsfantem
[irstimer] = 00H
IF [ir1_light] == 1
[irselse] = 02H
ELSE
[irselse] = 00H
ENDIF
;[M_SetAdress0] = [M_CheckAdress0] ;20041207
;[M_SetAdress1] = [M_CheckAdress1]
CLT
LDA M_SetAdress0
EOR M_SetAdress1
EOR irselse
EOR irstimer
EOR irsfantem
EOR irsmode
EOR M_DispRoomTemp
EOR m_TxdStatue1
EOR m_TxdStatue2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -