chiark / gitweb /
qq stuff - write to a buffer we can read
authorian <ian>
Tue, 6 Dec 2005 23:48:12 +0000 (23:48 +0000)
committerian <ian>
Tue, 6 Dec 2005 23:48:12 +0000 (23:48 +0000)
detpic/i2clib.asm
detpic/i2clib.inc
detpic/points.asm
detpic/reverse.asm

index 10f6f70f5aa14966203b9357e6a50f93d9739273..930a2f51c82668e076bd46f7f8103d2c7b0a26a1 100644 (file)
@@ -475,7 +475,7 @@ s_event_bad_intr
 ;----------
 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
 
 ;----------
@@ -485,7 +485,7 @@ s_event_reading
                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
index 6bcfd739a97dd923d3adb758314ade5fcea4ee44..6454b6ff57fb1899e49b59b2256494b13e49e7a7 100644 (file)
@@ -1,3 +1,6 @@
+ extern QQ_i2csu_read_begin
+ extern QQ_i2csu_read_another
+
 ;######################################################################
 ; i2clib.inc - I2C LIBRARY - DECLARATIONS AND DOCUMENTATION
 ;
index 1514b6ac29c5eaebc38487f7b7e39b6d0b768daf..5efca995d96805d66078569b6648fffc88fba70e 100644 (file)
@@ -87,6 +87,7 @@ point_set_pin_h
        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
 
@@ -95,6 +96,7 @@ point_set_pin_l
        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 ?
@@ -168,7 +170,8 @@ points_init_ifnot_point
 
        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
@@ -195,7 +198,7 @@ points_init_portbit_if_used
 
        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*
 
@@ -205,7 +208,7 @@ points_init_portbit_if_used
        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
index 894b36bdf6bf15fde81536254211864c66f9f11f..410280dfe534b64167b8e41095c6349099c7de4c 100644 (file)
@@ -35,19 +35,19 @@ polarity_local_do
 ;
        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
@@ -71,10 +71,10 @@ polarity_local_init
        rcall   polarity_local_do
 
        com_fw  maska
-       and_wff TRISA
+       and_wff qqTRISA
 
        com_fw  maske
-       and_wff TRISE
+       and_wff qqTRISE
 
        return