;
;
;  fbc_util.txt
;
;   
;    
;   
;
;
;----------------------------------------
;
 .org smart_vectors+256

;
;----------------------------------------
;    0

;     0
 RD_p0_proc:
  mov data_t,P0
  ajmp rd_ports

;     0
 WR_p0_proc:
  acall bspi_rxd
  mov P0,data_t
  acall smart_qt_slave
  ajmp wait_com

;    
;     
;   0
 Wbm1_p0_proc:
  acall bspi_rxd
  mov a,data_t
  orl P0,a
  acall smart_qt_slave
  ajmp wait_com

;    
;     
;   0
 Wbm0_p0_proc:
  acall bspi_rxd
  mov a,data_t
  cpl a
  anl P0,a
  acall smart_qt_slave
  ajmp wait_com

;
;----------------------------------------
;    1

;     1
 RD_p1_proc:
  mov data_t,P1
  ajmp rd_ports

;     1
 WR_p1_proc:
  acall bspi_rxd
  mov P1,data_t
  acall smart_qt_slave
  ajmp wait_com

;    
;     
;   1
 Wbm1_p1_proc:
  acall bspi_rxd
  mov a,data_t
  orl P1,a
  acall smart_qt_slave
  ajmp wait_com

;    
;     
;   1
 Wbm0_p1_proc:
  acall bspi_rxd
  mov a,data_t
  cpl a
  anl P1,a
  acall smart_qt_slave
  ajmp wait_com

;
;----------------------------------------
;    2

;     2
 RD_p2_proc:
  mov data_t,P2
  ajmp rd_ports

;     2
 WR_p2_proc:
  acall bspi_rxd
  mov P2,data_t
  acall smart_qt_slave
  ajmp wait_com

;    
;     
;   2
 Wbm1_p2_proc:
  acall bspi_rxd
  mov a,data_t
  orl P2,a
  acall smart_qt_slave
  ajmp wait_com

;    
;     
;   2
 Wbm0_p2_proc:
  acall bspi_rxd
  mov a,data_t
  cpl a
  anl P2,a
  acall smart_qt_slave
  ajmp wait_com

;
;----------------------------------------
;    3

;     3
 RD_p3_proc:
  mov a,P3
  orl a,#trd_mask
  mov data_t,a ;   bus_dtr=bus_clc=bus_qt=1
  ajmp rd_ports

;     3
 WR_p3_proc:
  acall bspi_rxd
  mov a,data_t
  orl a,#trd_mask
  mov P3,a
  acall smart_qt_slave
  ajmp wait_com

;    
;     
;   3
 Wbm1_p3_proc:
  acall bspi_rxd
  mov a,data_t
  orl a,#trd_mask
  orl P3,a
  acall smart_qt_slave
  ajmp wait_com

;    
;     
;   3
 Wbm0_p3_proc:
  acall bspi_rxd
  mov a,data_t
  cpl a
  orl a,#trd_mask
  anl P3,a
  acall smart_qt_slave
  ajmp wait_com

;
;----------------------------------------
;     

 rd_ports:
  clr data_key
  acall bspi_txd
 ajmp wait_com ;   
 ;     

;
;----------------------------------------
;     /
;  fb4012

 read_hed:
  mov r2,#11
  mov r3,#1
 tr_simv:
  mov a,r3
  acall rd_simv
  mov data_t,a
  acall bspi_txd
  inc r3
  djnz r2,tr_simv
 ajmp wait_com
;
 rd_simv:
    movc a,@a+PC
  ret
  .db "FB4012 V0.1"

;
;----------------------------------------
;      0xFF

 oll_off:
  clr a
  mov P0,a
  mov P1,a
  mov P2,a
  mov P3,a
  acall smart_qt_slave
  ajmp wait_com

;
;----------------------------------------
;