Sunday, November 15, 2009

WebTV 2 Update

My larger compact flash cards can no longer sustain a full feature Windows XP OS, so I have fallen back to linux. There is nothing wrong with this, but linux on the RM4100 isnt new. The CoreBoot BIOS crew has been working on a replacement BIOS, which should kick my BIOS's ass, since they know what they are doing and I am just using blunt tools to carve away at something I dont fully understand. Dot get me wrong, I know how a BIOS works, but fucked if I can write one from source.

I have Damn Small Linux, Puppy Linux, and Debain on separate CF cards. Full debain doesnt run too well, a bit too bloated. If you are new to linux and want it on the webTV 2 RM4100 I dont suggest you start with Debian. There is some work needed to be done in order to get the TV Output working though. If you are not linux savvy then I dont know what to say. It will work, but if you arent wise with linux, just try and stick with the other prebuilt flavors.

All hardware in the RM4100 is supported under linux, except native TV output, but that can be fixed with the proper packages. No BIOS level support yet.

You can check out the SeaBIOS here: http://www.coreboot.org/SeaBIOS
The main issue here is how do you flash the BIOS? Whelp, im working on a softmod method as well. Its based off the old BootROM Video Test Exploit, but do not expect me to make this work. This is not an area I am familiar with, then again, thats why I enjoy this.

Thursday, November 12, 2009

Faceplant of sucksess

I promised I would post more often, and I am a man of my word. Although I prefer to spend my spare time hacking, modding, soldering, and tearing away at the inner soul of machines, my current situation has lent me a few minutes to update. Per previous posts and personality traits, I like to post about something thats worth a damn.

Like I mention over and over and over again, the Webb TV 2 RM4100 hacking is not dead. Not in the least, no way, no how. Time and the lack of it... anyways. Recently I pulled it out to confirm some of my BIOS hacking suspicions and try to make some progress. I have managed to podge together an AMI BIOS thats damn compatible with this RM4100. Only MAJOR BIOS level issues is that the machine cant restart itself. I suspect its an ACPI issue, but this is fixed once an OS is installed. Wait... what?! You got an OS installed?! HOW! WHICH ONE!

[ WebTV 2 RM4100 installing Windows XP SP2 - Click image to link to my picasa page ]


Yes this is my livingroom, which has suffered from a severe bulimic episode from my lab. Now to the fine details:

Using Compact Flash cards which is already onboard, native Primary Master and bootable on the RM4100, and and IDE mod, I hooked in a regular optical drive which has been powered off a separate PSU for now. The RM4100 does in fact have pads for an IDE header for the Secondary IDE chain, and even a spot for a molex power connector. I just havent gotten around to activating it. You need to add a few through hole electrolytic capacitors to get the onboard molex working. I have it set up and going on another RM4100 I have. Granted pre-install of Windows XP with SP2 was painful being that the BIOS had forced the Compact Flash card into a very slow DMA Mode 2 which is a crippling 33MB/s. After post install and I had configured Win XP with some minor tweaks, the typical action of turning off themes, indexing, restore points, and useless animations, then proceeded to install the device drivers... it ran pretty god damn smooth! I was able to get the CF card into UDMA Mode 4 which is twice the transfer speed. Performance wise I wasnt impressed, but I was surprised at how smooth it was, despite how the CF card was bottlenecking the OS Speed.

Performance does not compare to your typical PC today, but for what its worth this thing was running very nice, smooth, I couldnt complain. Except the Compact Flash cards were not in the best shape and it crapped out on me over and over again. I was able to test a few theories.

  • IR keyboard/Remote is hooked to a microcontroller on the PS/2 bus. You cant put PS/2 back in, but you can use the IR keyboard if you remap the keys using some extra software. The keyboard doesnt have a full set of needed keys (Like the F-Keys and Esc)
  • The BIOS can not get the TV-Out working natively. VGA is needed to configure the BIOS
  • I was not able to get the Intel Extended Graphics to detect a TV display, chances being there is no load balance for the transmission lines that are used to detect displays. I can not force TV out with the default drivers. The CF Card shit out before I could install an application that will force TV output, but my assumption is that if we force it, it will work, and the registers for TV out in the IEGD (Intel Extend Graphics Driver) will TSR (Terminate and Stay Resident) letting the BIOS do TV out, granted you have the BIOS CMOS Battery in place to keep all the registers set. When I plugged in a display, it did detect a carrier sync signal, which means it IS spitting an output to the TV-Out!
  • Sound is in fact muted on the hardware level. There are some specific registers that need to be set to desaturate a transistor that keeps the sound card in a hardware based mute mode. Drives are at full volume, but nothing comes out. Removal of transistor Q3002 on the board gets it working. Crude hardware hack but it works. I do not have the coding skills to set the proper registers on a driver level to unute via software, 3 seconds with my soldering iron is a lot easier for me
I made some decent progress, a lot of my assumptions were correct and my technical experience in internet appliances and embedded hacking hasnt failed me yet on this device. Unfortunately all of my Compact Flash cards are extremely unhealthy and do not provide a stable test environment for me. I have some parts on the way, so just stay patient with me and I will release as much as I can as often as I can. This device does show quite a bit of potential granted you know how to make the most out of your hardware.