extract_rtvA quick note before you read anything else: Windows FAT32 partitions only allow files up to 4GB in length, so if you are extracting files larger than this (e.g. 1.5 hour high-quality) to a Windows partition, they will not be able to fit into a single output file. It is the partition type that matters, so it doesn't matter if you try to extract the file in Linux or Windows 2000 or Windows XP, it will fail if the partition type is FAT32. I believe that Linux ext2 filesystems only support files up to 2GB in length, also, but I haven't confirmed that. The only way around this problem is to use a partition type that supports files larger than 4GB, like NTFS.
Also, extract_rtv uses direct drive access functions available on in Windows NT and derivatives, so it will only run with Administrator priviledges on Windows NT, 2000, or XP. It will not work in Windows 95 or 98, or with ordinary user privileges.
Source and Win32 executable for the extract_rtv program to read the filesystem used on the ReplayTV hard drives is now on the SourceForge download page:
- v13: fix a bug in the code for handing continuation inodes
- v12: in Windows use the Windows specific file open commands. Hopefully this will solve the reported drive corruption problems in WindowsXP.
- v11: read photo partition from rtv4000 units don't add MPEG headers to files extracted from rtv4000
- Version 10 fixes a bug in the '-d' option introduced in version 9
- Version 9 now supports RTV4000 series units, although the '-d' description listings do not work.
- Version 8 will now extract all of the data from files larger than 4GB by splitting the file into multiple files of up to 4GB each. The file splitting is done right at the 4GB break and no attempt is made to split at a GOP boundary, and no attempt is made to write headers to the second file. As a result, the second half of the file probably will not not be acceptable to MPEG viewer/editor applications, but at least you will have all of the data extracted.
- Version 8 will extract files larger than 4GB, splitting the output into multiple 4GB files when necessary (on FAT32 partitions). It also will default to '-p2' when extracting a single file, so you can now skip the '-p2' when extracting the MPEG files from the second partition.
- I also discovered a new filesystem structure that appears when there are more than 31 fragments in a single file. This doesn't happen often, but I've seen a few of these files on my machine. Version 8 will properly extract these files. (Previous versions would report a corrupted filesystem when it saw them.)
- Version 7 uses a larger read buffer to increase transfer rates, thanks to Rod Hewitt.
- Version 6 adds the ability to list brief/full program descriptions, list all program descriptions (including deleted programs), and to extract deleted files from the ReplayTV drive. Thanks to Shahed Ameer for the patches.
- Version 5 will insert a system header and program stream map into extracted MPEG files to make these files MPEG-2 compliant. The ReplayTV does not include these sections in the MPEG files, and the lack of these fields would make some programs (e.g. MProbe and Womble's MPEG2VCR) give errors or fail. Thanks to Rod Hewitt for the modification.
- Version 4 adds support for dual-drive ReplayTV systems, and will autodetect the ReplayTV drives. Also, the "-d" option will now list the program descriptions for all of the programs stored on the MPEG partition. Many thanks to Steve Durgin for decoding the data structures holding the program descriptions.
- You will need a program capable of playing MPEG2 files to view the extracted files on your PC. A possible option is the shareware Elecard MPEG player. You can find other options in the Video Players sections at davecentral
Using a Linux boot floppyThe Linux version can be used with the RTVPatch boot disk image (or pretty much any Linux boot disk) with the following steps:
- Unzip the extract_rtv_v13_linux.zip file to your Win9x drive.
- Create the RTVPatch boot disk using the image from rtvpatch.sourceforge.net
- Boot from the Linux boot disk
- Log in as root. No password required.
- Mount your Win9x drive under /mnt. If your drive is the master drive on the primary
IDE controller, and is partition 1, then you would mount using
mount /dev/hda1 /mnt
The "a" stands for the primary, master. The "1" is the partition number.
- cd /mnt
- Extract whatever files you want
- cd /
- umount /mnt
(Note: this is important! You must umount the partition so that all changes get written to the hard drive before you reboot your computer)
- Reboot your computer.
Old versionsThese are old versions of the program, included here for reference, and because I have a habit of adding bugs...
ExamplesNote: extract_rtv version 5 and above have support for overwriting an existing file on the drive. The -w (overwriting) option is EXTREMELY risky, so use it only if you are really, really, sure of yourself.
A Win32 executable is included, which can be used ONLY in Win2000 and WinXP. See the included readme.txt file for details.
USAGE: extract_rtv <devicename> <options> -l directory listing -d show program descriptions (brief) -dv show program descriptions (verbose) -da show ALL (incl. deleted) descriptions (brief) -dd show ALL (incl. deleted) descriptions (verbose) -e extract all files -e filename extract single file or subdirectory -b NNNN set read buffer size (default=128) -p device file is a partition -pN use partition N (N=1,2,3,4) -r cluster# restore unlinked/lost file at this cluster -s force on rtv4000 byte-swapping -u look for unlinked (deleted) files -v verify drive integrity -w filename localfile overwrite filename with localfile If you omit <devicename>, extract_rtv will attempt to autodetect the ReplayTV device connected to your system. If you have a 2-drive system and want to manually set the devicename, list both devices on the command line.You can also use an image file by specifying the name of the image file. For example: extract_rtv drive.image -v
Validate filesystem integrity of the first partition:
extract_rtv -p1 -vList all files on the first partition:
extract_rtv -p1 -lExtract all files on the first partition to the current directory:
extract_rtv -p1 -eShow the descriptions of the *.mpg files:
extract_rtv -dExtract a single file from the second partition to the current directory:
extract_rtv -p2 -e 971351356.mpgExtract a subdirectory's contents to the current directory:
extract_rtv -p1 -e sys1
Setting the clock manuallyHere is a control panel that you can install on the replaytv hard drive to allow manual clock adjustment. Once installed it replaces the "credits" easter egg with a simple control panel where you can type in the new time and date.
Warning: the ReplayTV stores the clock in GMT and not in the local time, so be sure to enter the time value in GMT or you will get a clock that is off by 4 to 8 hours!
Replacing the ReplayTV 2020 modem with a serial portThe ReplayTV processor talks to the modem chip via a 115200 bps, 8N1 serial connection. It is possible to add a serial port driver chip (MAX202 or equivalent) and connector (DB9) to bring this serial connection outside of the unit where you can attach an external modem or connect it to a PC. This can be used to allow units with broken modems to connect to the internet to get updates. See the connection diagram for details on how to wire this up, and the following section for details on how to set up a PC so it looks like a modem to the ReplayTV. You can also use an external modem as long as the modem will talk at 115.2kbps through it's serial port connection. Most 33.6kbps and above modems should have no problem with this. Here are two links to some cheap ($25) 56kbps modems which will work: Modem 1 Modem 2
- Connection diagram (to connect to a PC)
- Connection diagram (to connect to an external modem)
- Front side of the serial driver chip
- Back side of the serial driver chip
- External serial port connector
- CTS pin is lifted
- RXD and TXD connections
- Wire attached to RTS pin
- AllAboutTheToys' wire connections - (I would recommend using wire-wrap wire innstead)
- AllAboutTheToys' wide angle view - (I would recommend using shorter wires thaan shown here)
Some assembly notes:
- In the MAX202 back side picture, the 4 unconnected pins are where the connections to the ReplayTV are to be attached.
- You will have to remove the hard drive and mounting bracket to get at the modem chip. To remove it, remove the hard drive, and then remove the 5 hexagonal posts on the drive mounting bracket (they screw off). Unplug the 115V connector from the power supply, and the mounting bracket should then easily lift off of the chassis.
- It works best to use wire-wrap wire (typically 30AWG solid wire) to connect the MAX202 to the ReplayTV motherboard. Using anything larger will make it very difficult to solder the wires to the pins of the modem chip.
- A 1" square piece of perf board is sufficient. The MAX202 chip is 0.8" long.
- The wires from the MAX202 to the serial port connector should be about 4" long. Stranded 20AWG wire will work fine, and will give the strength and durability you need if you hang the connector out of the back of the box.
- You can use double-stick tape to tape the top side of the MAX202 chip to the inside of the back of the ReplayTV box, right next to your custom-punched hole.
- If you don't want to punch a hole in the box you can just run the serial port connector out of the box through the gap between the box bottom and top. If you do this, use a cable tie around the wires on the inside of the ReplayTV box to act as a strain relief, so the serial cable doen't pull on the MAX202 circuit.
- The wires from the ReplayTV motherboard to the MAX202 chip should be around 6" to 10" long. Be sure to leave enough slack in the wires so it doesn't interfere with the hard drive mounting bracket.
Linux bootdisk with pppdThis is a bootdisk which will make your PC route network traffic from a serial port ppp connection to an ethernet (broadband) connection.
Boot and Root floppy disk images
Scripts and filesystem image for rebuilding the root floppy disk image
A 2.4.16 kernel boot disk which might run faster, but I'm not sure this works.
3-Com Audrey stuff
x10remoteSource and Win32 executable for the x10remote program. This program does essentially the same thing as X10's Boom2000 software. I wrote this program because the Boom2000 software has some severe limitations (for example, it can't send PgUp or PgDn keystrokes, can't map all of the buttons on the remote).
Main differences between x10remote and Boom2000 are:
- uses much less memory
- can send many more types of keystrokes, and can send keystroke combinations, for example to access menu commands such as <Alt>-F,X.
- can map all of the available keys on the X10 MP3 Remote
- can configure and use up to 6 different PC applications (PC-1 to PC-6)
- can configure the light on/off keys to control individual mixer controls
- can configure which mixer control is controlled by the VolUp/VolDown/Mute commands
- runs in Win98 and Win2000. x10remote won't work in Win95.
- includes the full source code
Source code: x10remote_source.zip
Send comments/patches/bug fixes to firstname.lastname@example.org