A 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.
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.
Extract whatever files you want
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.
These are old versions of the program, included here for reference, and because
I have a habit of adding bugs...
Note: 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 -v
List all files on the first partition:
extract_rtv -p1 -l
Extract all files on the first partition to the current directory:
extract_rtv -p1 -e
Show the descriptions of the *.mpg files:
Extract a single file from the second partition
to the current directory:
extract_rtv -p2 -e 971351356.mpg
Extract a subdirectory's contents to the current directory:
extract_rtv -p1 -e sys1
Setting the clock manually
Here 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 port
The 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 1Modem 2
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
(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.
Source 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.