;----------
s_event_idle_addrrecvread
bs_f st, st_awaiting
- call i2csu_read_begin ; 26cy until 1st insn of read_begin
+ call QQ_i2csu_read_begin ; 26cy until 1st insn of read_begin
retfie_r
;----------
mov_fw SSPSTAT
xor_lw 0xac ; D,!P, S,R,!BF
bra_nz s_event_reading_not_another
- call i2csu_read_another
+ call QQ_i2csu_read_another
; 24cy until 1st insn of i2csu_read_another
s_event_reading_datanack
retfie_r
+ extern QQ_i2csu_read_begin
+ extern QQ_i2csu_read_another
+
;######################################################################
; i2clib.inc - I2C LIBRARY - DECLARATIONS AND DOCUMENTATION
;
bra_z point_nonexistent
mov_ff INDF0, FSR0L ; W = bit, FSR0L -> LAT*
set_f FSR0H ; FSR0 -> LAT*, W = bit (still)
+ mov_ff BSR,FSR0H;qq
ior_wff INDF0 ; pin = H
return
com_fw POSTINC0 ; W = ~bit, FSR0 -> &LAT*
mov_ff INDF0, FSR0L ; W = ~bit, FSR0L -> LAT*
set_f FSR0H ; FSR0 -> LAT*, W = bit (still)
+ mov_ff BSR,FSR0H;qq
ior_wff INDF0 ; pin = H
point_set_pin_hl
tst_f_ifnz FSR0L ; err, did we just write to 0xf00 ?
mov_lfsr ptix2bitlat, 0 ; FSR0 -> this bit and LAT*
mov_lfsr bitnum2bit+7, 1 ; FSR1 -> bitnum2bit+7
- set_f FSR2 ; FSR2 -> some SFR, will point to LAT/TRIS
+ set_f FSR2H ; FSR2 -> some SFR, will point to LAT/TRIS
+ mov_ff BSR,FSR2H;qq
mov_lw bkptix2portnumbitnum & 0xff
bt_f_if0 idloc1,idloc1_boarddet
swap_fw TABLAT ; W = bitnum4 || portnum4
and_lw 0x0f ; W = portnum4
- add_lw LATA & 0xff ; W = LAT*
+ add_lw qqLATA & 0xff ; W = LAT*
mov_wf POSTDEC0 ; LAT*[this] := LAT, FSR0 -> bit[this]
mov_wf FSR2L ; FSR2 -> LAT*
and_wff INDF2 ; LAT* &= ~bit, ie pin set to L (still Z)
pin_vh pall_pt0reverse ; but pt0 pin is backwards, set to H
; (still Z, unless we've done this already)
- mov_lw TRISA-LATA
+ mov_lw qqTRISA-qqLATA
add_wff FSR2L ; FSR2 -> TRIS*
com_fw INDF1 ; W = ~bit
and_wff INDF2 ; TRIS* &= ~bit, ie pin set to not Z
;
mov_wf t ; t = PP PP v3 v0 v2 v1 v5 v4
- mov_wf LATE ; W = kk kk kk kk kk kk o5 o4
+ mov_wf qqLATE ; W = kk kk kk kk kk kk o5 o4
xor_wfw t ; W = ?? ?? ?? ?? ?? ?? d5 d4
and_wfw maske ; W = zz zz zz zz zz zz d5 d4
- xor_wff LATE ; LATA = kk kk kk kk kk kk v5 v4
+ xor_wff qqLATE ; LATA = kk kk kk kk kk kk v5 v4
bc_f t,2 ; t = SS SS v3 v0 v2 v1 zz v4
bt_f_if1 t,4 ; t : .. .. .. v0 .. .. .. ..
bs_f t,2 ; t = SS SS v3 v0 v2 v1 v0 v4
- mov_wf LATA ; W = kk kk o3 kk o2 o1 o0 kk
+ mov_wf qqLATA ; W = kk kk o3 kk o2 o1 o0 kk
xor_wfw t ; W = ?? ?? d3 ?? d2 d1 d0 ??
and_wfw maska ; W = zz zz d3 zz d2 d1 d0 zz
- xor_wff LATA ; LATA = kk kk v3 kk v2 v1 v0 kk
+ xor_wff qqLATA ; LATA = kk kk v3 kk v2 v1 v0 kk
; where kk is a bit we must keep
; o<n> is old reverse bit
rcall polarity_local_do
com_fw maska
- and_wff TRISA
+ and_wff qqTRISA
com_fw maske
- and_wff TRISE
+ and_wff qqTRISE
return