// on rtn display byte with 'G' goto DATACB
// on hbx goto hbx
//
// "hbx" collect byte, halt (stop) bit exit
//
// SCL  HI   LO   HI   LO    ^    ^    v    v     
// SDA   ^    ^    v    v   HI   LO   HI   LO   
//      hlt  imp  imp  imp  imp  imp  imp  err
//




////////////////////////////////////////////////////////////////////////
//
// "collect byte" sub description
// assumed (can see no way it is not) SCL is low at entry
//
//
// collect byte, first bit entry
// no action should be needed (impossible or go_on)
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      imp  ign  hbx  ign 1bd  1bd  imp   imp          
//
//
// "1bd" collect byte, first bit duration
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      hbg  imp  err  imp imp  imp  fdb  fdb
//
// "hbg" go to halt (stop) begin
// "fdb" save data bit and go to collect middle bit entry
//
// "mbe" collect byte, middle bit entry
// no action should be needed (impossible or go_on)
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      ign  imp  ign  imp mbd  mbd  imp   imp          
//
// "mbd" collect byte, middle bit
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      err  imp  err  imp imp  imp  mdb  mdb
//     
// "mdb" IF 8 bits collected save the data bit and go to "9be"
// else save the data bit and go to "mbe"
//
// "9be" collect byte, 9th bit entry
// no action should be needed (impossible or go_on)
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      ign  imp  ign  imp 9bd  9be imp   imp          
//
// collect byte 9th bit
//
// SCL  HI   LO   HI   LO   ^    ^    v    v     
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      imp  hbx  nak  imp imp  imp  rtn  rtn