I must be misunderstanding the original problem then.
Every corresponding on bit indicates the channel is available. All I need to do is to find the first free channel based on the value in the byte.
0:00000000 - Broken, so check for zero first.
0:10000000 - First channel is available.
1:01000000 - Second channel is available.
0:11000000 - first...
2:00100000 - third...
0:10100000 - first...
1:01100000 - second...
0:11100000 - first...

That seems to fit for the quoted portion of the OP. Again, assuming we start with a returned zero being "first" channel, and count up from there. I'm not intentionally trying to be dense, I'm just tired, so it seems to fit the bill for what they're asking for. If it's not, someone point it out to me, because I'm just not seeing it.


Quzah.