Patches

There are a number of firmware patches available for the TF5800 (and other TF5000-series Toppys). I will try to maintain this page with information about the latest patches, but please don't assume it's complete. An extra source of information is the firmware patches page at Tapworld. A prerequisite is something to apply the patches (.tfp files) to the firmware (.tfd file): either FireBird's HDFW v2 TAP for the Toppy (Thread) or FWPatcher for the PC (manual).

Historical changes are listed below.

The patches can be categorised as:

Most patches should apply to most TF5000-series Toppys. If a patch is not described as specific to a particular range of firmwares and it does not apply to (or work on!) your firmware then you may be able to request support by posting a message in the appropriate thread. Note: this is especially true now with the advent of complex patches (e.g. [Gm] and [Wf]) that have to be built for specific firmwares and cannot be applied generically.

For quick reference, the following is the list of current, stable patches and their Patch IDs (all available in one handy PatchPackV2). Other, less mature patches may be found in the Development Work section.

AbAccurate BM
AfAFD Disable
ArAuto Reboot (TAP)
B2Timeshift Extend (2hrs)
B4Timeshift Extend (4hrs)
BbBookmark Blue
BfBios Fix
BmBookmark
BqBios Queue
BrBookmark Red
ByBookmark Yellow
C Cable Ready
C0No CYR
CbCallbacks
CeCurrent Event
CfCut Fix
CkClock Fix
CtCut Points
CwChase Pause Works
CyNot CYR
D HDD Detection
DeDesc Ext
DsDeselect
E EPG Mem Patch
E0EPG Mem 0.5
E1EPG Mem 1.5
E2EPG Mem 2.25
EcEIT CRC Fix
EeEIT Check End
EfEIT Dup Fix
EgEPG Grid
EmEPG Move 24 Hrs
 EsEIT Section Cache
 EvEIT Valid Mem
 EzEPG Size
 F TAP Disk Fix
 FsFile Saver
 GmGet Msg
 GxExt Cmd Enable
 H HDD Patch
 HeHeader Event
 Hr12 Hour FP
 I PBSiS
 KtKeep Timeshift
 M Dream Free
 MhMHEG State
 MkMasterpiece Keys
 N Disable Master Pin
 NfNIT Fix
 OtOTA Disable
 P Power Restore
 PcPiP Channel Fix
 PePlug EIT
 PoPower Off
 PsPlay No Stutter
 R Rec Roundel
 R0No Roundels
 R2Quick Roundels X2
 R3Quick Roundels X3
 R5Quick Roundels X5
 RaRec Audio PID
 ReRem Ext
 RhRec Header Fixer
 RpRec PiP Fix
 RsRecording Saver
 RtRepeat Timer
 RyRem Codes To TF5810
 S Startup Accelerator
 ScStart Channel
 SdSDT Fix
 SlSeries Link
 SrSpeedy Rec
 StStopTs Fix
 SySysID 456
 T Timer Patch V4b
 T2Timer Patch T2b
 TdTimer Data
 TeTAP Curr Ev
 TfTimer Filename
 TpTime Path
 TsTimer Setting
 U Usb Accelerator
 UuUSB Upload
 V55500VFD
 VbVolume Boost
 VcVolume Cinch (RCA)
 VdVolume Disable
 VyVideo YUV
 WfWind Faster
 WsWidescreen Scaling
 WwWWWW (TAP)
 X EPG Short Desc
 XlaXeL
 XpPlay No CYR
 XwWatch No CYR
 Z Disable 0 Aspect Switching

— Essential —

These are what I'd consider to be essential patches and should be installed by all users (with Patch ID in brackets):

  • The TAP Disk Fix [F] patch prevents the crashing due to starting and stopping TAPs a lot of times (and has also been reported to help with USB problems). (Thread)

  • DeadBeef's HDD [H] patch may help prolong the life of your hard disk by removing a stupid spin-down/spin-up in the boot sequence, although some hard disks appear to cope anyway. (Thread)

  • The NIT Fix [Nf] patch fixes the NIT collection code so that this important section is CRC checked and allowed to span multiple sections. This should prevent problems when performing a channel scan. (Thread)

  • FireBird's Power Restore [P] patch causes the Toppy to start up after a power cut (i.e. not remain in standby) so that the clock is set properly (and so future recordings should still happen). There is an associated TAP which can arrange for the Toppy to be put back into standby once the clock has been fixed, but this is not required for the correct operation of the patch. (Thread)

  • The PiP Channel Fix [Pc] patch alters the system tuner/channel selection for PiP, which should prevent corrupted recordings when using the PiP during playback and also allow the PiP to offer a correct selection of channels. (Thread)
  • The StopTs Fix [St] patch fixes TAP_Hdd_StopTs() to prevent TAPs crashing when they try to stop playback in some circumstances. FireBirdLib also has an TAPAPIFix for this so some TAPs may have this built-in, but the patch fixes the bug for all TAPs. (Thread)

  • DeadBeef's Timer V4 [T] patch fixes the timer mechanism to help prevent missed recordings. This patch is applicable to a wide range of Toppy firmwares. (Thread) An alternative is the TimerT2b [T2] patch which was hand-crafted for mainly TF5800 firmwares, but is now automatically generated for a very wide range of firmwares. (The collaboration with DeadBeef to find the problem and produce the patches is what started my interest in patching.) (Thread)

  • The Play No CYR [Xp] patch prevents playback being interrupted when a second recording starts (note: this removes the ability to copy a recording when playing it, but the patch may be temporarily enabled/disabled using HDFWv2). (Thread)

  • The Watch No CYR [Xw] patch prevents most unnecessary interruptions to viewing live TV when a second recording starts. (Thread)

— Bug Fixes —

Some patches to fix bugs in various firmwares:

  • The Bios Fix [Bf] and Bios Queue [Bq] patches work together to attempt to reduce the chance of internal Bios messages being lost due to overflowing message buffers. This may reduce the likelihood of a very wide variety of infrequent problems, such as the memory leak while doing (non-turbo) USB transfers (see also Plug EIT [Pe]), the Toppy hanging "stuck on OFF", and recordings not starting even though the Toppy came out of standby for them. (Thread)

  • The Callbacks [Cb] patch enables TAPs to use the USB and PCM callbacks properly in the presence of other TAPs. (Thread)

  • The Cut Fix [Cf] patch fixes the bug in most TF5800 firmwares (and some TF500/TF600) where the Resume point interferes with the cut points, preventing the transitions on all but the first play of such a recording. (See Cut Points [Ct] to properly enable the transition effects.) (Thread)

  • The Cut Points [Ct] patch fixes various bugs in the fading and muting transition code around the glitches from cut points in paused recordings. (See also Cut Fix [Cf].) (Thread)

  • The EIT Check End [Ee] patch fixes the EIT collection routine so that it notices when the duration of a programme changes. (Thread)

  • The EIT Dup Fix [Ef] patch fixes bugs in the Toppy's EIT data collection add and delete routines, preventing duplicate entries clogging up the space and causing other errors. To reduce problems from CRC errors, the EIT CRC Fix [Ec] patch should also be applied. (Thread) (Note: this patch largely supersedes the EITDupFix TAP.)

  • The EIT Valid Mem [Ev] patch fixes a source of corruption where the EIT processor continues to use deallocated memory. This is primarily of interest to users of TF5800 5.14.X and TF5810 5.15.X firmwares where this bug is the cause of corrupt recording times, failure to start recordings and vanishing entries in the EPG. (Thread)

  • The Header Event [He] patch fixes the routines that collect EIT event (programme) data for each recording slot so that they continue to work when dual recording. This patch is essential for the correct working of Accurate BM [Ab] and Extend. (Thread)

  • The Plug EIT [Pe] patch prevents a memory leak related to EIT processing when the Toppy is under heavy processing strain (e.g. from TAPs or USB transfers in non-Turbo mode). (Thread)

  • The SDT Fix [Sd] patch fixes the SDT collection code so that channel names do not appear blank -- problematic SDT data has been seen sporadically in some regions in the UK, but may become a more widespread issue. (Thread)

  • The Speedy Rec [Sr] patch fixes an uninitialised variable deep in the recording code, which sometimes prevents a recording from starting until a 10s timeout completes. (Thread)

  • The Timer Data [Td] patch fixes a bug which can cause corruption of timer data and make chase playing of that recording a dangerous activity. TimerCheckGUI can check for and repair existing corrupt timers. (Thread)

  • The Timer Filename [Tf] patch fixes a bug in the code which first assigns a filename to a timer, preventing the occurrence extensions like "-2-2.rec". (Thread)

  • FireBird's 5500VFD [V5] patch fixes the Front Panel recoginition code to always enable VFD mode (rather than LED emulation mode) on the TF5500. (Thread)

— Performance —

These patches are not essential, but do improve the Toppy's performance in various ways:

  • The Current Event [Ce] patch optimises the background process that monitors the current event when watching live TV to use the "Now & Next" cache that is present on mainly later TF5800 firmwares, yielding a very significant performance boost. (Thread)

  • The Chase Pause Works [Cw] patch adjusts the chase play handling so that a chased and paused recording remains paused when the recording finishes. (Thread)

  • The Desc Ext [De] (with Genre) and (no Genre) patches allow supporting TAPs (like DX's eit2mei, mei2archive and SeriesLink) to access more of the EPG event's short description via the normal TAP API (in a similar way to simonc's DescriptionExtender TAP) — unsupporting TAPs will show shortened descriptions. Only some firmwares support the EIT Genre data — the "no Genre" version may be useful if you don't want to use that data or if the "with Genre" version extracts it incorrectly (more info on these V6 versions). (Thread)

  • The EIT Section Cache [Es] patch radically improves EIT Section cache on mainly the later TF5800 firmwares. As a side-effect it also fixes a bug in the normal cache (which was previously fixed by the EIT CRC Fix [Ec] patch). (Thread)

  • The EPG Size [Ez] patch removes the constraints in the EIT collection to retain the past day's worth of data and allow up to 10 days of future data to be collected. It is probably a mistake to combine this with any of the EIT memory size patches. (Thread)

  • The Get Msg [Gm] patch optimises some of the key low-level message passing routines, making the Toppy more responsive. (Thread)

  • The MHEG State [Mh] patch (or TAP) enables TAPs to notice when MHEG screens are displayed (this is another function that was provided by the Remote Extender TAP). For example, without this patch MyStuff will respond to the arrow buttons (and show Now&Next) even when you are looking at Interactive Services. (The TAP does the patch and exits, and acts as a toggle. It ought to work on future firmwares, whereas the patch will need to be updated when new firmwares are released.) (Thread)

  • FireBird's Masterpiece Keys [Mk] patch adds keycodes for the otherwise unused M and N/P buttons on the Masterpiece remote. (Thread)   After applying this patch, the following RKEY codes may also be sent to TAPs:

    #define RKEY_MP_M   0x1000d
    #define RKEY_MP_NP  0x10011
  • The Playback No Stutter [Ps] patch stops the Toppy thrashing the disk to periodically check for encrypted video (so this will break a mixed recording). This should prevent the stutter when the disk is otherwise being heavily used during playback (multiple recording and USB transfers). (Thread)

  • The Rec Audio PID [Ra] patch alters the audio PID that is saved in the .rec header to be the smallest one (which is usually the correct, main one) rather than the last one (which is usually the wrong one...) and makes it non-Auto. This prevents a large delay in the audio when starting a recording (or it restarting after a jump or pause). (Note: this V3 patch works really well with the format of the UK Freeview data, but may not have the desired effect in other regions, depending on the number, type and layout of the audio track data — the V1 and V2 versions may work better, so consult the details in the linked thread.) (Thread)

  • The Rem Ext [Re] patch allows TAPs to distinguish between more remote buttons than normal on the TF5800 (and maybe other TF5x000 models that have a modified remote layout). This works in a similar way to simonc's RemoteExtender TAP (which "wins" if you have both installed, although the TAP can't be started if the patch has already been applied). (Thread) If you also run MHEG services then you probably also need MHEG State [Mh]. (See the Development Work section for some information on the patch and TAP remappings.)

  • The TAP Curr Ev [Te] patch optimises the TAP_GetCurrentEvent() routine using the same technique as that used in the Current Event [Ce] patch. A benefit will be seen only if you are using any TAPs that make heavy use of that routine. (Note: this patch is known to prevent the DescriptionExtender TAP from loading.) (Thread)

  • DeadBeef's USB Accelerator [U] speeds up USB transfers from the Toppy (not to it). It does this by eliminating redundant CRC checks, so it may confuse some software — see the thread for details. This is also available as a TAP to temporarily include the patch, so you can test whether your software supports it (e.g. the latest ftpd-topfield) and you've set things up properly (e.g. copied the replacement .dll file for Altair). (Thread)

  • The USB Upload Accelerator [Uu] speeds up USB transfers to the Toppy (not from it). It does this by eliminating two redundant CRC checks, and it affects all packets received by the Toppy. (Thread)

— User Interface —

Some stylist and interface improvements (which may also be offered as temporary [easily removed] fixes by other TAPs):

  • The Accurate BM [Ab] patch adds bookmarks to recordings according to the Accurate Recording signals (i.e. "Now & Next" programme transitions) on that channel. The Header Event [He] patch is an essential requirement for correct working. This patch supersedes the AccurateBM TAP since it uses a much more robust EIT collection mechanism and is much more widely applicable to Toppy firmwares. (Thread)

  • The Bookmark [Bm] patch makes the Toppy jump to the bookmark position it sets when you ask it to set a bookmark, so you can easily see how far off it is (the error depends on the bitrate at that point). It also prevents the playback search bar from timing out after the last button press (it would normally do this after 5s). This may help set bookmarks a bit more accurately for use with the CutAds and CutFile TAPs. (Thread)

  • The No CYR [C0] patch always chooses to allow a recording to start and does not prompt if the main service channel needs changing. (Thread)

  • The Not CYR [Cy] patch changes a lot of the TF5800's (English) texts to be a little more understandable, in line with improvements coming in newer firmwares. (Thread)

 

  • The Deselect [Ds] patch causes the Toppy to deselect its AV connection when it starts up for a recording. (Thread)

  • The EPG Move 24 Hrs [Em] patch makes the Yellow/Green buttons move the native EPG view by +/-24 hours from the current position in Grid mode (rather than moving to the first EPG entry of the next/previous day). (Thread)

  • The 12 Hour FP [Hr] patch makes the Front Panel display the time in 12-hour format rather than 24-hour (when in standby). (Thread)

  • The PBSiS [I] patch removes those silly "Playback Stopped" messages, and may help prevent crashes when playback is stopped very soon after being started. (Thread) FireBird's WWWW [Ww] TAP achieves the same thing for the main occurrences of this message (and has an equally silly acronym).

  • The Power Off [Po] patch makes the Toppy always prompt you first when you press the Standby button, rather than just shutting down straight away. (Note: this patch should not be used in conjunction with MyStuff's or any other TAPs' power handling mechanisms, since they interfere with the normal process and will either always cause the prompt or never cause it, as well as other possible interactions.) (Thread)

 

  • The Rec Roundel [R] patch makes the recording roundel (the red info blob that pops up in the top right-hand corner) display the recording filename (i.e. programme name) instead of the channel name (the channel number is still shown). (Thread)

 

  • The Rem Codes To TF5810 [Ry] patch changes mainly TF5800 firmware so they use the TF5810 remote codes instead. This maybe helpful for owners of more than one TF5800 (who also have a Universal Remote Control). (Thread)

  • The Series Link [Sl] patch makes the CRID data broadcast in the UK Freeview system available as Extended Info in the EPG data (in much the same way as bdb's CRID TAP). This enables TAPs to collect this information and implement Series Link functionality. (Thread)

  • The Timer Setting [Ts] patch makes the Timer Setting screen display the recording filename (i.e. programme name) instead of the channel name (the channel number is still shown). (Thread)

 

  • The Wind Faster [Wf] patch enables faster fast forward and fast rewind, and it also enables the hidden fourth speeds. The internal speeds are changed to 2x, 4x, 8x and 16x (with rewind speeds similar). However, the indicated speeds in the roundels are unchanged at 2x, 4x, 6x, and the previously hidden 8x. The actual speeds depend on the bitrate of the recording, with the internal 16x being roughly equivalent to 12x on a normal UK Freeview channel. (Thread)

  • simonc's Disable 0 Aspect Switching [Z] patch removes the annoying Aspect Ratio switch feature of the 0 button on the Toppy remote (you can still change Aspect Ratio via the menus, but this patch helps prevent accidental changes). (Thread)

— Other —

Other patches which address other issues or extend existing functionality:

  • The AFD Disable [Af] patch disables the AFD mechanism which usually causes TF5800/TF5810 models to crop 4:3 broadcasts if they occur in a 16:9 frame (common on BBC broadcasts) — the image will remain as 16:9 with black side bars. (Thread)

  • FireBird's Auto Reboot [Ar] TAP reboots the Toppy if a crash occurs rather than leaving it "frozen". (Note: this does not apply to the TF5800 since it will automatically reboot if a crash occurs — this change is probably because of the flakiness of the MHEG engine which means the TF5800 is more likely to crash than other models.)

  • Patches to decrease the memory used by the Toppy's EPG, which may be useful if you use only external EPG data (e.g. a MyStuff.mei from Radio Times data) or are tight on memory. The Freeview EPG data (currently) needs about 2Mb and the Toppy reserves a 3.5Mb buffer. The patches drop this reserve to: 0.5Mb [E0], 1.5Mb [E1], or 2.25Mb [E2]. These patches are for the TF5800 5.12.88 and beyond. (Thread) There's also Harvey's EPG [E] patch for specific TF5000 firmwares, dropping the reserve from 3Mb to 1Mb. (Thread)

  • simonc's Master PIN [N] patch disables the Toppy's Master PIN code so that it's much harder for your kids to override your parental settings. (Thread)

  • The OTA Disable [Ot] patch disables the rather lax OTA mechanism in TF5800/TF5810 firmwares which can misinterpret broadcasts for other Freeview STBs. (Thread)

  • The Start Channel [Sc] patch makes the Toppy always start up on the first available channel (usually BBC1 for TF5800 users) rather than the last channel watched. This is mainly a fix for when the last channel was a payment one and the Toppy starts up without being able to display this properly. (Thread)

  • The SysID 456 [Sy] patch makes any Toppy report itself as SysID 456, which is the main version of the TF5800. This may be necessary in order to run certain TAPs on some newer TF5800 (and the redesigned TF5800PVRt) models which have been assigned SysID 458 instead. (Thread)

  • The Volume Cinch [Vc] patch prevents the volume controls from adjusting the output level on the audio cinch (RCA/phono) connectors so it should remain at max volume (much like the output on the optical and VCR outputs). (Thread)

  • The Volume Disable [Vd] patch disables the volume controls so the output remains on maximum (even after a Factory Reset). (Thread)

  • The Video YUV [Vy] patch boosts the output levels for the YUV signal, making it brigher and possibly better. (Thread)

  • The Widescreen Scaling [Ws] patch allows widescreen broadcasts to be scaled arbitrarily like 4:3 broadcasts. This may be especially useful for users of TAPs that adjust aspect ratios. (Thread)

  • The Short Description [X] patch allows the short description of an event (i.e. programme) to be updated when a new version is broadcast with a new extended description. This appears to help with an issue seen by some TF5700 users and their EPG data provider. (Thread)


Recent changes:
16 Mar 09 added AFD Disable [Af], EIT Check End [Ee], EPG Size [Ez], OTA Disable [Ot], Repeat Timer [Rt], Rem Codes To TF5810 [Ry], Timer Data [Td], Time Path [Tp], and Widescreen Scaling [Ws], and updated Plug EIT [Pe] and Timer Patch  [T2]
9 Dec 08 added Accurate BM [Ab], Bookmark Blue [Bb], Red [Br] and Yellow [By], Clock Fix [Ck], Chase Pause Works [Cw], EIT Valid Mem [Ev], Header Event [He], Keep Timeshift [Kt], Timer Filename [Tf], Volume Boost [Vb], Cinch [Vc] and Disable [Vd], and Video YUV [Vy], and updated Desc Ext [De] and Disable 0 Aspect Switching [Z]
11 Sep 08 added EIT Dup Fix [Ef], EPG Grid [Eg], EPG Move 24 Hrs [Em], Plug EIT [Pe], SDT Fix [Sd], Series Link [Sl], SysID 456 [Sy] and TAP Curr Ev [Te], and updated Rec Audio PID [Ra]
18 July 08 added Wind Faster [Wf] back again(!), and added Cut Fix [Cf], Cut Points [Ct], NIT Fix [Nf] and Rec Audio PID [Ra] (V1 and V2).
15 June 08 removed Wind Faster [Wf], and added Bookmark [Bm], Current Event [Ce], EIT CRC Fix [Ec], EIT Section Cache [Es], Get Msg [Gm], Quick Roundels X2 [R2] and X3 [R3], and Speedy Rec [Sr].
12 May 08 added Masterpiece Keys [Mk] and 5500VFD [V5].
10 May 08 added Bios Fix [Bf], Bios Queue [Bq], MHEG_State [Mh] (as a patch), Rec Header Fixer [Rh] and StopTs Fix [St].
8 Apr 08 added Deselect [Ds], File Saver [Fs], PiP Channel Fix [Pc] and Recording Saver [Rs].
8 Mar 08 recompiled patches with a larger selection of firmwares
28 Jan 08 added Rec Pip Fix [Rp] and updated No Roundels [R0] (so it's more subtle).
9 Jan 08 changed to using the Ext Cmd Enable [Gx] TAP, added No CYR [C0], 12 Hour FP [Hr], Playback No Stutter [Ps], Play No CYR [Xp], Watch No CYR [Xw], reorganised, and recompiled patches (so they will now work better on other firmwares)
11 Dec 07 added Timeshift Extend [B2] and [B4], Power Off [Po], Quick Roundels X5 [R5], No Roundels [R0], Start Channel [Sc] and Wind Faster [Wf].
26 Nov 07 added Timer Setting [Ts] and updated MHEG State [Mh] text
20 Nov 07 updated Dream Free [M] to cope with more firmwares and added NotCYR [Cy]
11 Nov 07 tidied text and PatchPackV2 a bit, added Patch ID list, and added AutoReboot [Ar], MHEG State [Mh], USB Upload [Uu] and WWWW [Ww] TAPs