Graham's TiVo Notes

The notes below have not been updated since 2006 and some of the references are no longer valid. They are still posted here in case any of the information is useful.

Note that dtype's tivodev cross-compilation tools are available here.

Old notes

I have been experimenting with programming for my TiVo. Anyone interested in this should definitely check out the following resources:

My TiVo is a UK model running the UK V2.5.5 software. It has an (upgraded) 120GB disk. I have installed an Airnet card (for wireless LAN access) and make use of TiVoWeb and some other utilities. I do not have broadband always-on Internet access so the TiVo only talks locally to my other systems.

I use my TiVo almost exclusively for time-shifting. I never watch live TV. I am not particularly interested in moving streams on and off the TiVo. However, I am interested in adding a few additional features to the TiVo.

All software announced here is for Series 1 TiVo. Sources are included so if you port it to other TiVo versions please let me know and I will add links to your version.


john1980 and I have extended Jake Bordens' jpegwriter V1.0b to create a V1.2. As well as fixing a couple of small bugs, I added the ability to control where the image is displayed on the screen and john1980 added an option to clear the screen.

You can find the new jpegwriter V1.2 here.


Jpegwriter (and other programs) are dependent on the libosd library of on screen display routines.

You can find libosd V1.3 here.


I have reimplemented Jake Bordens' slideshow in TCL to create a V1.1. This allows access to the new options in my jpegwriter including --pal for UK users.

You can find my new slideshow V1.1 here.


I have created a VNC client for the Tivo. The current version is a proof of concept, hacked up from PalmVNC, but it works.

This has become more useful now that the Nokia 770 Internet Tablet is a convenient device to use while sitting on the sofa -- you can use this to display the screen from the Internet Tablet on the TV.

You can find TivoVNC here.


I have built the GNU screen program for the TiVo. This is particularly useful on the console -- it allows you to have multiple login sessions on the console, all with job control and ^C etc.

If you don't know what screen is you really need to read the documentation (or man screen on a Unix or Linux system).

You can find the screen package for the TiVo here


I wanted to experiment with the MPEG decode ioctls (as researched by embeem). So I wrote a program which uses the ioctls to provide control of the decoder (e.g. turning on and off the video, pausing the output, etc.). It also allows advanced users to experiment with arbitrary ioctls.

More information is available here


I use a shell script (build_info) to automatically track information about the last time a program was built (which can be displayed in an "About" screen for example). This is used by many of my programs.

For more information, execute build_info with the --help option. Alternatively, the --help output is here.

This page has been accessed Access counter times.

Graham Cobb