RS-485 half duplex
8n1
DATA0...n transmitted unchanged, low nibbles are BCD (0-9)
(EDIT) this is likely not the case, as the spec I have does not seem to be the correct one. Disregard the following point. ADDR byte and CSUM byte split into two bytes each, hi and lo nibbles might be split between the two bytes, however I'm confused as to why it appears that the ADDR byte is a start flag byte. sub_ADDR matches the protocol specification.
sub_ADDR matches the protocol specification, used to identify the data in the packet to a specific part of the display, and possibly to different displays
One-way communication (EDIT) one-to-many master-slave likely
FEC appears to be "repeat the message" as all packets are immediately duplicated in the recorded stream, i.e. 1,1,2,2,3,3..etc.
Receiver likely "pretends it never happened" if packets are mangled as past data is irrelevant
(EDIT) All packets are of known length and the lengths do not change in the data set
(EDIT: CRITICAL INFO) Low nibbles of bytes labeled A3-A6 and B3-B6 represent digits 0-9 as BCD. A value of 0x0f would blank the digit on the display.[1] Therefore:
0a 0c 02 00 60 00 80 0b -> "20:00" 28 0c 02 00 60 00 80 -> "20:00" 0a 0c 01 09 65 09 d8 0b -> "19:59" 0a 0c 0f 09 65 09 80 0b -> " 9:59"
(EDIT) High nibbles of A3-A6 contain flag bits. Known flag bits include bit 6 in DATA2 (A5,B5) which indicates state == running, and bit 5 in DATA2 (A5,B5) which indicates colon == on.