The TiVo DVR is a wonderful product developed by TiVO Inc.
It is an intelligent VCR, which allows you to pause and rewind live TV.
Provides programming information on-screen (similar to what some cable boxes offer), and just like a video recorder, it can be programmed to record a specific program, either by channel and time or just specifying the name of the program. Unlike a VCR, the TiVo can change the recording schedule if the program guide states that the program in question changed times. We can also specify that we ALL programs recorded with a theme, a title, or in which a particular person participates.
As if this were not enough, it's able to deduce and extrapolate that TV shows we can get to like, based on programs that we watch and like, so if you always watch CSI, CSI: NY and CSI: MIAMI, the TiVo will record (and suggest you see) programs like NCSI, "Law & Order" and so on.
TiVo is not a magic box, TiVo is a PC with a very small and focused hardware that runs a customized version of good old LINUX
Unfortunately, this product only works in a few countries (USA, UK, Australia, Canada, etc..).
In the rest of the world, the device behaves (in the best case) as a basic Video Recorder (and in most cases not even that). Unless, of course one is willing to get down to work and work hard.
In order to bring the TiVo to work properly in Argentina I had to address several issues:
· Color Standard:
The Original TiVo is designed to operate in NTSC (USA, Canada), PAL-I (UK), but Argentina uses PAL-N.
Initially, I was using an external tuner with a PAL-N to NTSC converter, but there were long delays to change channels and the signal quality was not optimal, thus I decided to fix the problem.
This is a problem that users in other countries have encountered before, so I could learn from their experiences.
Most Active in this field was the Australian community who attacked the problem in two different ways, some developed a driver used to replace the TiVo's own, while others were in the path of the hardware and replaced the original with a tuner compatible with the standard they use.
Over time, the hardware solution was the most used by them and the driver was relegated to specialized auxiliary function.
I understand the basic electronic, but not enough to feel comfortable replacing the tuner, and while i was able to obtain a compatible tunner, i decided to first try a "Software" solution.
I got a copy of Australian driver and all the documentation I could get on the original tuner chips used in the TiVo version 1 (which is what I have), as well as the IRAM publications and other sources.
After several days studying the documentation and code, I wrote the first version of my driver and my TiVO was able to tune it's first PAL-N channel, after a few weeks of work (in spare time, which is a few "real" days) it was able to tune all the different channels of video and corresponding audio (including SAP).
Stage 1 is completed.
· Automatic Call
In countries where there is service, TiVo calls the company regularly to verify that the subscription is current (if you do not pay they cut the service) and to download updates and program guide the next day.
If TiVo can not call the company for a certain amount of days, it began to show annoying signs and / or it blocks.
This is very understandable in these countries, but completely useless in Argentina, so I should find a way to eliminate these mechanisms.
Initially turned to a method widely used in the community, which is a script that makes TiVO believe that it has already made the appropriate call and there was nothing new.
But then I found out that the community of Canada, before TiVo would provide services in your country, had developed a number of tools allowing to emulate the TiVo server, not just "resetting" the counter, but also allowing you to get the programming and other options Similar to the original service.
I was very interested, so I got access to source code and started to work on its implementation.
After much experimentation and questions, I got my UBUNTU machine to emulate the TiVo server.
Stage 2 is completed.
· Programming Guide
Now my TiVo was happy, convinced that the service in Argentina was perfectly normal for everyone, but it had no information on the TV schedule L
Needed to feed him the schedule.
Several groups worked on this around the world and once again the community of semi-TiVo users had the solution. A clever gentleman named Tridge had developed a number of tools to convert plain text (with a specific format) in a file that the TiVo could use to update its program guide.
Moreover, another group had developed a set of tools to convert XMLTV files into the appropriate format for use by the Tridge program.
A few months of research in leisure time, and my TiVO and could tell me what programs were on television in a given time and even had to record information automatically (and without being programmed) programs that I like.
With this done, I buy 2 more for my family TiVO :-)
Next step: Adapt a Tivo Version 2, with the following challenges:
Different Chipset Video: This is Broadcom and all information is under strict confidentiality agreements. The only way to get the commands to set PAL-N mode is analyzing device drivers that use these chips. A doable task, but quite difficult (and time consuming).
Disable protection: this version of TIVO has a software protection to prevent "unauthorized", that is activated when the device is initializing and removes any foreign element (as would be my driver, if I manage to write it). This mechanism must be removed before continuing.