History of the Entertainment Center
Right now in my entertainment center I've got a Sony Vega TV, Yamaha RXV-1000 receiver, GoVideo VCR, TiVo, Slink-e, and an HP Vectra VL400 computer with KnoppMyth installed.
The receiver and the VCR both have serial ports and are hooked into the Linux computer, along with the Slink-e. The TiVo has an ethernet card in it, but currently does not run the web server since it tends to cause the TiVo to lock up and reboot.
I wrote a daemon about 5 years ago to manage my entertainment center when I had a Sony STR-DE805G in there along with a Sony SAT-B1 for DirecTV. I found out the satellite receiver had a built-in serial port and decided that maybe I could hack up some software to change channels on the satellite and control the VCR so I could record shows that I was missing. After all I was paying for a lot of channels and I was barely making use of them. I also wanted to be able to push just one button on my remote and have everything turn on automatically.
The interface to the STR-DE805G really blows. When a friend of mine showed me a site about the Slink-e, I immediately ordered it. I got it, hooked it up, found the document that described how the serial commands worked, and immediately started writing my own daemon to control it. At some point I did manage to get my daemon to have macros and timers, and was able to use it do to the one button thing. I also had it setup so I could type in a channel number and it would automatically change to the correct device (TV or satellite) and go to that channel. About the only other thing it could do was return a string which represents what's on the front-panel of my VCR. A tech from GoVideo was impressed that I bothered to figure out what all the bits where in the binary code the VCR returned to tell you which segments are lit. I used to have a web site which would show what's on the VCR display, I need to make a new one and put it up again. Not that it was interesting, but hey, why not? :-)
Anyways I ended up moving as well as buying new equipment. At the old house the computer was in the room right behind the entertainment center so I had run wires through the wall to control it. At the new house the computer room was upstairs somewhere else, and since the old software didn't talk to the new equipment I never got around to hooking the computer back up.
Now I've moved again. Just before moving though I decided to try out MythTV for playing back movies. There's no TV tuner card in the computer and there never will be. MythTV is nice and all, but it just can't compare to my TiVo. I'm still debating just using the MythTV box to play videos so that my TiVo records them and I can then watch them on the TiVo. Not there yet though...
Anyways, the MythTV computer was just a test to see how well it would work and so was made out of junker computers which were either too noisy, or in too big of a case to fit in the entertainment center. Since it looked like it was going to be sticking around, I started searching for a case that was going to be within my budget.
Ideas of chopping up cable boxes and installing an ATX motherboard came to mind. And since I no longer had a cable box displaying the time, it seemed like it would be cool to stick the computer in a cable box and somehow hook the clock display up to the computer. So I did a quick search on eBay for a cheap cable box, found something that wasn't tacky looking, and plopped down $5 + $15 shipping. Cable box arrived and crap, it was way way too tiny for an ATX motherboard. Popped it apart anyway to see what was in it, did some searches on the part numbers I found, came up with plans for hooking up the LED and the buttons on the face plate (with an ipac arcade encoder of course), dreamed of the day when I could afford one of those tiny little EPIA motherboards, and set it aside.
About 2 weeks ago I finally got around to re-assembling my entertainment center, after living in the new house for about 2 months. That's not to say I didn't have TV, I just didn't have the receiver and speakers and stuff hooked up. I had the TiVo hooked directly to the TV and was using the TV speakers, while the MythTV sat on the floor next to the entertainment center and was also directly connected to another input.
After getting everything hooked up, it was time to find a case for the MythTV box so it could get off the floor out of the way. Went to google and started searching for a desktop case. Came to find out no-one makes desktop cases anymore! They make lots and lots of mini-tower cases and call them desktop cases (whose dumb idea was this??) or they make HTPC cases which are desktop cases painted black and charge $200 for them! Gah! I wasn't paying $200 for a desktop case that was only $40 just a few years ago.
So, more ideas of stuff I could hack up to mount a PC in. DVD players, old bulky VHS vcrs, even thought about an old Mac 6100 (found a site where a guy painted it black, looked good!) but all those were going to be so low I'd have to do some strange stuff to get the PCI cards to fit. Started wondering if there was anyone selling an old PC that had a desktop case and started searching craigslist and eBay. This was hard cuz you couldn't just do a search for the right kind of case, I had to pick over each listing hoping for good pictures. Stumbled upon a bunch of Compaqs that looked pretty good, but I would probably have to do some major surgery to stuff in an ATX case. Then I happened upon the HP Vectra VL400. Someone had actually taken pictures of the front and back of theirs and posted them in their eBay auction. So then I did a search of "vectra" on craigslist and whaddaya know! Someone just listed one for a good price that day! Went over and looked at it the next day, and not only will it take an ATX board, it's already got an 866mhz P3 in it and all I had to do was swap in my video card and HD from the old computer!
Bad thing about the Vectra though, HP decided to make the ISA slots an option. Why is that bad? Because I happen to have a bunch of those old Boca BB2016 boards that add on 16 serial ports. And of course my entertainment center is packed with components that talk serial! So I debated for a couple of days options for adding more serial ports. Thought about swapping in the motherboard from the original computer so I could install the ISA board, thought about sticking another PC behind the entertainment center, getting USB adapters, etc. Adding a 2nd PC was out, that was just nuts since I really don't need TWO computers in there. Didn't want to swap in the board from the old computer since it really needs to go back to what it used to do (borrowed it from one of my MAME cabinets). Didn't want to spend any money on usb adapters since I'm between jobs right now and really broke, plus I have all this perfectly good hardware around even if it's old.
Then I suddenly remembered I have one of those keyspan dual port adapters with two Mac-style ports on it. Except that port 2 had never worked. But at least I would get one more port and I could hook up my Slink-e. Hooked it up, Linux saw it and it "just worked", fired up kermit to see if I had hooked into the right port and everything was ok. Just for fun I decided to see if the other port worked AND IT DID! Cool, now I can hook in the VCR too!
So now I have the X10 MouseRemote on serial 1 which lirc controls, the Yamaha on serial 2, the Slink-e on serial 3, and the VCR on serial 4. Time to get out the old entertainment center daemon and add in support for the ICM7218 chip and the Yamaha RXV-1000.
At some point I may need to add a 5th serial port. I am already making plans to hook the TiVo's serial port up and write some translation software. Why? I've been seeing free/cheap C-Band (BUD) satellite systems on craigslist from time-to-time and now that I am on a big property with no HOA or CCnRs, what the heck, maybe I'll get one. I did some searching to see if a TiVo can control a C-Band receiver and it can't, but other people said they tell their TiVo that they have DirecTV so it has a fairly complete guide which matches the timetable of C-Band transmissions, and then they manually setup their VCR to control the C-Band receiver at the right time. Kloodgy, but I could have my TiVo talk to my Linux computer and let the Linux computer auto-translate and control the C-Band receiver with the Slink-e (unless it has serial too). Well at least that's the plan should I happen upon a C-Band satellite setup for free.
Another thing I have been thinking about is coming up with some automated setup that can query my TiVo for conflicts, record the conflicts with my VCR, then sometime when the TiVo isn't doing anything make the TiVo do a manual recording from the VCR and then edit the data on the TiVo so it looks like a real recording and not a funky manual one. And while thinking about that I remembered I still have my old receiver (retired because it was having speaker problems) and another VCR. Well I could use my old receiver as nothing more than a computer controlled A/V switch (thanks to the Slink-e) and have both VCRs go through it to the TiVo, and then I could effectively have a three tuner TiVo! And you are probably thinking that is insane, but at least on Thursday nights at 8 there are 3 shows I want to record (stupid local CBS affiliate runs their programming an hour early).
Also in the works is integrating my Tcl based phone answering system with the entertainment center daemon so that caller ID will scroll by on the cable box. There is probably more too, but this is all I can remember right now.