This is libosd 0.1, a library containing on-screen display (OSD)
routines for Series1 and Series2 TiVo units, tested on a Philips
DSR7000 running 4.0.
The API is intended to be more or less backwards compatible with the
one(s) used in tivovbi, elseed, yac, and newtext2osd, with
enhancements for slanted and coloured text. (I have successfully
ported elseed, yac, and newtext2osd to Series2 with this library.)
See the example for usage.
The Series2 code came from disassembling /tvbin/osdwriter from 4.0.
Some of the variable and function names refer to addresses in
osdwriter (which I have also reconstructed source for).
Series2 colours are 32-bit unsigned quantities of the form 0xAARRGGBB.
I have hard-coded an offset of 6 pixels into the bSurfacePosition()
routine in brcm.c to compensate for the `ghost' image noted at
On Live TV and TiVo Central, anyway; Now Playing doesn't have the
You can forget the return value of setupBrcmDisplay() (0 for failure)
unless you want to call the bSurface* routines yourself.
Due to that `ghost' image, the opacity values don't work linearly:
there are effectively two copies of the image overlaid.
I haven't actually been able to test elseed yet, as the phone hasn't
rung for several days!
Todo^H^H^H^HExercises for the reader:
o test Series1 support. I'm pretty sure it doesn't work just
o fix bugs
o colour name to value mapping, something like X's rgb.txt?
o changeable fonts
o certainly, a font encoded for (say) Latin-1, rather than MS-DOS
o FreeType would probably work well for those last two.
Last edited by dah31; 04-18-2004 at 08:16 PM.