Tools from PeN

Dump FAT Informations of a TF-HDD, for debug Informations

Size: 20kB

TF-Disk, 25-July-2002

Size: 52kB

TF-Disk, 29-July-2002

Size: 53kB

TF-Disk, 05-August-2002

Size: 52kB

TF-Disk, 08-August-2002

Size: 52kB

TF-Disk, 21-August-2002

Size: 52kB

TF-Disk, 07-September-2002
writes to disks, deletes files, runs under Windows and Linux and supports AC-3.

Size: 52kB

TAP Development


TAP-Build-Environment PowerPC C compiler/assembler/linker for Windows

Size: 5330kB

I recently got some mails concering the compiler environment.

I notice that you distribute the gcc compiler for TAP on your website without distributing the corresponding source code, as required by the GPL. Recently, Topfield have withdrawn this material from distribution due to the infringement of the GPL.
I thought I'd contact you first to inform you of the infringement and give you the opportunity to fix this problem by either:
a) Making the complete source code, including any modifications, available as required by the GPL.
b) Ceasing the distribution of the gcc for TAP compiler.
Please see and for further information and FAQs on the subject.
Looking forward to a speedy resolution.

Since I don't have any access to the compiler sources I have to remove the TAP build environment.
Since PeN used the normal PowerPC-GCC environment for this project, with luck you might find it elsewhere and use it together with the following files (Lib and Topfield-functions) to create a working environment yourself.


Library with Topfield-Functions for TAP development

Size: 867kB


Size: 36kB

Additions from Chris Ghisler

New TAP headers, used for compatibility with TF5000PVR TAP environment

Size: 28kB

Shows signal level+quality with big bars and in percent.

Size: 7kB

Shows a black bar at the bottom to hide the sometimes enervating scrolling text on some news channels.

Size: 6kB

Hides all Topfield OSD elements, e.g. the timeshift indicator which cannot be hidden otherwise.

Size: 8kB

changing firmware files

 Here is a little tool called tfd2hdf, first published in October 2001. It enables to convert the TFD files (firmware, loader, settings) to HDF files (Humax format) and vice versa. is a separate module with functions performing the crc16 calculations.

 The program is written in Perl, a scripting language quite popular under many operating systems. To uncompress the firmware into binary, you need a program called "HDFTOOL", which is widely available on the internet on Humax-specific sites. At the time of writing, I did not know which specific compression scheme is used, and reverse-engineering HDFTOOL did not give a hint to anything widely used. Actually, I have later learned from the author of HDFTOOL that the compression scheme is that used by an archaic MS-DOS compression program called ARJ (and is actually based on Huffman coding every IT student knows from the school).

 With a very simple change, it is possible to change the system type in the TFD file, so that the loader loads and runs a firmware file originally meant for a different receiver model. And, by the way, the current loaders load and run software with system type of 0x9999 (that is 39321 in decimal), which seems to be a kind of wild-card system type. There should be loader files available on the Topfield web, so it is possible to change the header of the loader and to change the personality of the system completely. However, all these might be illegal and even if not illegal they are not ethical, so I am not giving out specific instructions or tools how to do it, whoever has good reasons to do this has to find out on their own.

 With loader files, some minor modifications to the source would need to be performed, as the program was written before the loader was disassembled and analyzed. My only reason to write this program was to be able to disassemble and reverse-engineer the Topfield firmware for fun and not for profit.

 This software is in source and I am not prepared to give any support to it, so the users should keep their hands out of it unless they really know what it does - by reading the source code. It has actually only 127 lines including comments.