; 2010-12-25 EW ; asm(RS485_RW_PORT) constant rs485_rw_port VE_RS485_RW_PORT: .dw $FF0D .db "rs485_rw_port",0 .dw VE_HEAD .set VE_HEAD = VE_RS485_RW_PORT XT_RS485_RW_PORT: .dw PFA_DOVARIABLE PFA_RS485_RW_PORT: .dw (RS485_RW_PORT+$20) ; mem mapped location! ; asm(RS485_RW_PIN) constant rs485_rw_pin VE_RS485_RW_PIN: .dw $FF0C .db "rs485_rw_pin" .dw VE_HEAD .set VE_HEAD = VE_RS485_RW_PIN XT_RS485_RW_PIN: .dw PFA_DOVARIABLE PFA_RS485_RW_PIN: .dw RS485_RW_PIN ; wait for tx complete ; : txc begin rs485_rw_port @ 1 rs485_rw_pin lshift and 0= until ; VE_TXC: .dw $FF03 .db "txc",0 .dw VE_HEAD .set VE_HEAD = VE_TXC XT_TXC: .dw DO_COLON PFA_TXC: PFA_TXC1: .dw XT_RS485_RW_PORT .dw XT_FETCH .dw XT_DOLITERAL .dw $1 .dw XT_RS485_RW_PIN .dw XT_LSHIFT .dw XT_AND .dw XT_EQUALZERO .dw XT_DOCONDBRANCH .dw PFA_TXC1 .dw XT_EXIT