+;--------------
+;---- SEND ---- 8 bits in a
+;-------------- destr:bcdehl
+send:
+ ld c,a
+ ld b,8+1 ;bits to send
+ jr checksend
+sendloop:
+ rr c ;bit to send (in cf)
+ ld a,D0LD1H ;0: lower white
+ jr nc,sendbit
+ ld a,D0HD1L ;1: lower red
+sendbit:
+ out (7),a ;lower one (send bit)
+ ld de,TIMEOUT
+waitacksend:
+ cal checklink ;other calc must lower other whire
+ jr nz,waitacksend
+checksend:
+ ld a,D0HD1H ;ok to raise both