;----------
read_got_detectbyte_something
+; branched from read_prep_detectbyte
+; b -> ?d??ddddd
+; W ?C??CCCC
+; t adj.detbasel
+; FSR1 -> lastd<n>
+ fixme need to preserve CCC's for use by addmsg_<something>
xor_wfw INDF1 ; lastd<n> = ?d??dddd
mov_lw 0x07
ior_wff FSR1L ; FSR1L -> detmsgh
;...
; W message
xor_lw 0x00 ^ 0x20
- bra_z cdu_got_pointed
+ bra_z got_pointed
xor_lw 0x20 ^ 0xb0
- bra_z slave_got_aargh
+ bra_z got_aargh
panic morse_MX
;----------
; NOS return address for i2cmu_read_got_byte
mov_wf t ; t = adj.detbasel
mov_fw b ; W = ?d??dddd
- xor_wfw INDF1 ; lastd<n> = ?C??CCCC, Z iff same
+ xor_wfw INDF1 ; W = ?C??CCCC, Z iff same
+ ; where C set iff change to that detection segment
bra_nz read_got_detectbyte_something
xor_wfw INDF1 ; lastd<n> = ?d??dddd
; there's nothing to do
; GENERATION OF DETECTION MESSAGES FOR HOST - MAD BT_F_IF1 TABLES
addmsg_testbit macro bit
- bt_f_if1 w, bit
+ bt_f_if1 w, bit fixme need to test something other than w !
rcall addmsg
endm
mov_lw dummy_bit
endm
+fixme comment this better
+addmsg registers on entry
+strangeness with offsets etc.
+
addmsgs_section code 0x2100 + 6*4
addmsgs_dethead addmsg_testbit 6
UI
UG
UX
+UCI
+UCP
# Messages for i2clib, S*
SM i2clib:st,:sspstat,:sspcon1,:sspcon2 ; m.,i., ctrlr bad state
return
;======================================================================
-;cdu_init
+
+cdu_init panic morse_UCI
; For master pic only. Sorts out the CDU's pin.
+cdu_got_pointed panic morse_UCP
+
include final.inc
;======================================================================
+; SERIAL PORT - TRANSMISSION TO HOST
+ include common.inc
+ code
;----------------------------------------
serial_addbyte
; W byte for transmission to host trashed
; STATUS any trashed
; all others any not interfered with
;
- mov_wf POSTIN0C
+ mov_wf POSTINC0
bc_f FSR0L, 7
mov_fw FSR0L
mov_wf outmsg_end
;-----
serial_addbyte_toomany panic morse_HB
+
+;======================================================================
+ include final.inc