Vicky, do you use any of the IR.exe or RMIR features for decoding bi-phase signals?
Here's what I did to verify your decodes. First, I manually edited all the leadout times in the first ICT file that Dave posted (making them all about 500k), then I opened the ICT file in IRScope and exported in UEI format. Then I used my
IRScope Decoder spreadsheet to convert it into and IR file and opened it using IR. Then I set the rounding time to 500 and Bi-Phase to EVEN. Then I grabbed the times from the Time Summary, which looked like this...
# Device Button Key Notes Freq Raw Timing Data
1 CBL TV Up 37914 Repeat: +2000 -500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; +500 -500; +500 -500; +500 -500; +500 -500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; -500 +500; +500 -49000;
2 CBL Setup Down 37914 Repeat: +2000 -500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; +500 -500; +500 -500; +500 -500; +500 -500; +500 -500; -500 +500; -500 +500; -500 +500; -500 +500; -500 +500; +500 -49000;
3 CBL Power Right 37914 Repeat: +2000 -500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; +500 -500; +500 -500; -500 +500; -500 +500; +500 -500; +500 -500; -500 +500; +500 -500; +500 -500; +500 -500; -500 +500; -48500
4 CBL VOL+ Left 38095 Once: +2000 -500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; +500 -500; +500 -500; +500 -500; +500 -500; -500 +500; -500 +500; -500 +500; +500 -500; +500 -500; +500 -500; -500 +500; -131000
5 CBL VOL- Up-Right 37914 Repeat: +2000 -500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; +500 -500; +500 -500; -500 +500; +500 -500; +500 -500; +500 -500; -500 +500; -500 +500; -500 +500; -500 +500; +500 -49000;
6 CBL CH+ Down-Left 37735 Once: +0 -1500; +0 -1500; +500 -48500;
Repeat: +2000 -500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; +500 -500; +500 -500; -500 +500; -500 +500; +500 -500; -500 +500; -500 +500; -500 +500; +500 -500; +500 -500; -500 +500; -48500
7 CBL CH- Down-Right 38095 Once: +2000 -500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; +500 -500; -500 +500; +500 -500; +500 -500; +500 -500; -500 +500; -131000
8 CBL Mute Up-Left 37914 Repeat: +2000 -500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; +500 -500; +500 -500; +500 -500; -500 +500; -500 +500; -500 +500; -500 +500; -500 +500; +500 -500; +500 -500; -500 +500; -48500
9 CBL CBL Left Click 37914 Repeat: +2000 -500; +500 -500; +500 -500; -500 +500; +500 -500; -500 +500; -500 +500; +500 -500; +500 -500; +500 -500; +500 -500; +500 -500; +500 -500; +500 -500; -500 +500; -500 +500; +500 -49000;
From here you can replace all the +500 -500; pairs with "1" and all the -500 +500; pairs with "0", then replace the remaining +500 items in front of the leadout times with "1" also, which gives you this:
1101011111101001 - Up
1101011111000001 - Down
1101011001101110 - Right
1101011110001110 - Left
1101011011100001 - Up-Right
1101011001000110 - Down-Left
1101011010101110 - Down-Right
1101011100000110 - Up-Left
1101001111111001 - Left Click
I looked at your PB file, I think it would have been simpler to not use a decide code/fixed byte and just split the 16-bits into two 8-bit variable bytes.