DISABLE_TBASE macro
pha
lda zp_general_ctrl
and #11110000b
sta io_general_ctrl
pla
endm
ENABLE_TBASE macro
pha
lda zp_general_ctrl
sta io_general_ctrl
pla
endm
as_primary macro
lda IrdaModeMark
and #0cfh
ora #10h
sta IrdaModeMark
endm
as_secondary macro
lda IrdaModeMark
and #0cfh
ora #20h
sta IrdaModeMark
endm
not_assign macro
lda IrdaModeMark
and #0cfh
sta IrdaModeMark
endm
set_simulation macro
lda FoundDevice
sta SimuMark
endm
set_PorF macro
ora #10h
endm
set_cmd macro
ora #1
endm
reset_watchdog macro
lda #0
sta watch_dog_timer_flag
endm
clear_idlesec macro
lda #0
sta idlesec
endm
check_key macro local,local1
lda key
and #80h
beq local
lda key
and #7fh
sta key
jmp local1
local: lda #0
local1:
endm
clear_length macro
lda #0
sta RecvLength
sta RecvLength+1
endm
set_recv_status macro
lda IrdaComStatus
and #0fh
ora #1
sta IrdaComStatus
endm
set_send_status macro
lda IrdaComStatus
and #0fh
ora #2
sta IrdaComStatus
endm
set_retry1 macro
lda #1
sta RetryCount
endm
set_retry macro
lda #5
sta RetryCount
reset_watchdog
endm
set_callmark macro val
lda #val
sta IrdaCallMark
endm
switch_bank macro val
lda uart_BK
and #0fch
ora #val
sta uart_BK
endm
Enable_Irda macro
lm IndexAddrReg,#P6DInx ;P64 output 0
lda zp_port6_dir
ora #10h
sta IndexDataReg
sta zp_port6_dir
lda zp_io_port6
and #11101111b
sta io_port6
sta zp_io_port6
endm
Disable_Irda macro
lm IndexAddrReg,#P6DInx
lda zp_port6_dir
ora #10h ;p64 output 1
sta IndexDataReg
sta zp_port6_dir
lda zp_io_port6
ora #10h
sta io_port6
sta zp_io_port6
switch_BK 3
lda #80h
sta GPCReg
sta P05
endm
enable_UART macro
switch_BK 2
lda #00100000b
sta TMReg
endm
disable_UART macro
switch_BK 2
lda #0
sta TMReg
endm
CLEAR_BRUI macro
switch_BK 0
lda IVReg
and #0fbh
sta IVReg ;enable uart clock
endm
;;;;;;;;;;;;;;;;;;
enable_UCE macro
switch_BK 0
lda #04h
sta IVReg
endm
disable_UCE macro
switch_BK 0
lda #00h
sta IVReg
endm
clear_FIFO macro
switch_BK 1
lda #30h
sta FCReg
endm
;;;;;;;;;;;;;;;;;;
enable_PLL macro
lda uart_BK
and #0fch
sta uart_BK
lda #4
sta uart_BK
endm
disable_PLL macro
lda uart_BK
and #0fch
sta uart_BK
lda #1
sta uart_BK
lda #23h
sta IRCReg
endm
enable_2Hz macro
lda #10
sta RIReg
lda RTC_IER_map
ora #1
sta RCReg0
sta RTC_IER_map
endm
enable_Alarm macro
lda #10
sta RIReg
lda RTC_IER_map
ora #2
sta RCReg0
sta RTC_IER_map
endm
enable_Samp64 macro
lda #10
sta RIReg
lda RTC_IER_map
ora #70h ; 15.6 ms sample interruption
sta RCReg0
sta RTC_IER_map
endm
enable_Samp1k macro
lda #10
sta RIReg
lda RTC_IER_map
ora #0b0h ; 15.6 ms sample interruption
sta RCReg0
sta RTC_IER_map
endm
disable_2Hz macro
lda #10
sta RIReg
lda RTC_IER_map
and #0feh
sta RCReg0
sta RTC_IER_map
endm
disable_Alarm macro
lda #10
sta RIReg
lda RTC_IER_map
and #0fdh
sta RCReg0
sta RTC_IER_map
endm
disable_Sample macro
lda #10
sta RIReg
lda RTC_IER_map
and #0fh
sta RCReg0
sta RTC_IER_map
endm
clear_2Hz macro
lda #11
sta RIReg
lda #1
sta RCReg1
endm
clear_Alarm macro
lda #11
sta RIReg
lda #2
sta RCReg1
endm
clear_Sample macro
lda #11
sta RIReg
lda #4
sta RCReg1
endm
get_Random macro
lda #4
sta RIReg
lda RTCVal
endm
set_TempByte macro val
lda #val
sta TempByte
endm
send macro local
pha
local: nop
lda LSReg
and #TxRDY
beq local
pla
sta THReg
endm
receive macro local,local1
local: lda LSReg
and #RxRDY
bne local1
lda TimerMark
bne local
local1: lda RHReg
endm