Posted: Thu Jul 22, 2010 2:30 am
ElizabethD wrote:At least in 8910, there's ONE byte where the FAV device is stored once forever. 8910 extender writer (David Vasques) did not assume that you can code FAV macros for more than one device. At least I never saw such a reference. Perhaps other extenders do.
Liz, there are remotes with 2-byte headers and newer remotes with 3-byte ones. When Vicky writes that the header tells you the key, the device, the type (of Advanced Code, ie keymove, macro or fav/scan) and the length of the following data, she is speaking of 3-byte headers, which can always do that.vickyg2003 wrote:Each keymove, and macro and fav key have a header that tells you what key, what device, what type and how long the next record is. Followed by the data.
For both header sizes the first byte is the key code. In a two-byte header the length is in the low nibble of the second byte. That leaves one nibble, just 4 bits, for the device and type. UEI does this by assuming that keymoves are the only type that needs a device specified. If the lowest bit is 0 then it is a keymove with the upper three bits giving the device type. If the lowest bit is 1, there is no device type as the upper three bits are needed to distinguish the other types of advanced codes. In fact, only one of these three bits is used, to distinguish between macros and fav/scan, but the two bits remaining are not enough for a device type.
A fav/scan in a remote with 2-byte headers therefore stores the fav/scan device in a separate, dedicated, byte and so can accept only one device, even in an extender. But with 3-byte headers, it is possible to construct fav/scan entries for several different devices, even if an unextended remote can't interpret them. For the same reason, 3-byte headers can handle device-specific macros, even if most remotes don't have them, but 2-byte headers cannot.