### Larry Osterman's WebLog

Confessions of an Old Fogey
Blog - Title

# Seen on the TV in "Larry's Lounge"

### Seen on the TV in "Larry's Lounge"

Just outside my office is a little "lounge" area - it's a sitting area with a couch and a couple of comfy chairs that's used for meetings.  It's sort-of become known as "Larry's Lounge" or "The Larry Lounge".

In the "Larry Lounge", there's a 42" flat screen TV connected to a media center box (and a newly added xbox 360).  Yes, there ARE perks to working in multimedia.

Both Daniel and Sharron have had fun with the TV when they're in the office - when the lounge isn't being used as an office, they watch videos on the TV (and the DVD team has a huge video library).

Anyway we were futzing with the TV yesterday and Steve Ball noticed that the volume control on the TV goes from 0 to 63.

We both saw that and laughed.  Our best guess is that some engineer specified that the volume control should go from 0..99 but wrote it as 0x00..0x63.

And the UX person handling the request didn't figure out what the 0x thingy meant and left it off :)

• Maybe the TV uses a 6-bit value to hold the volume setting ;-)
• Hmm, it makes me think that they scrimped on the bits, gave out only 6 bits to store volume in, so it was limited to 63.

63 is much better then 11, though!
• Or possibly the analog attenuator used a digital control that only used 6 bits i.e. 64 steps?
• 63 is also the largest integer using 6 bits - so it's possible that it was constrained by the number of bits used to control it, rather than by misinterpreting a hex number.
• What's wrong with 6 bits of volume, 0-0x2f or 0-63 in decimal?
• Or the register that controls the hardware volume control that the UI code writes into is 6 bits wide. Or somebody in the TV company just has a thing for powers-of-2.
• I dont think thats a good guess. I think its more likely that the volume is stored in a 6 bit value. PWN3D. SEE YA.
• I got to thinking, 0..63 is 6 bits, so maybe they're storing the volume in 6 bits and something else in the rest.

Or, if you stored the volume of each audio channel in 6 bits, you could (in theory) store the volume of 5 audio channels in a single 32-bit word.

As well, I must admit, when I'm programming and I need to pick an "arbitrary" value (like the initial size of a hash map), I tend to pick "nice round binary numbers" like 16, 32, 64, 128. Maybe this programmer does the same thing, and 32 is too small for a volume control range, but 128 is too large. Although that doesn't really explain why he didn't choose 96. :)

Lastly, when I mentioned this post to someone I know, he told me that the volume control on his car stereo goes from 0..63 as well. So either they made the same error, or this is a trend where 6 bits gives you the right amount of range for a volume control.
• Perhaps in the firmware there is only 6 bits to store the volume.  This leads to the question why only 6 bits.   An answer to that is perhaps they used a byte and the other 2 bits were for something else.  One may have been a 'mute' flag, because with mute you can't set the volume to zero since you need to keep the volume store for when you unmute.  So a flag would be better.  I don't have a clue what the other bit could be for.
• Isn't it a simpler possibility that the volume control is a six-bit variable?
• My first guess would have been that the the volume control register of the mixer chip only has 6 bits or something like that.

By the way, anybody else had to think of Monty Python when reading the term "comfy chair"?
• I know I mentioned this earlier, but I also think it's possible that, somewhere deep in the TV's firmware, somebody allocated only six bits for holding the volume level.
• Larry - you must have been baiting people, just to see what kind of responses you'll get. Left of the "0x" - ha!
• My old TV (21" cheapo) was the same. I always thought it was 6 bits.
(checks new TV) Nope, this one goes to 100.
• I wonder how many other people will go to the comments section without reading that EVERY OTHER COMMENT already mentioned that 63 is 2^6-1 (yet another way to express the maximum integer representable in unsigned six bit notation). :)
Page 1 of 3 (42 items) 123