Click here to go to the forum index Click here for the home page
 
Author Message

<  TAP and patch development  ~  FAO R2-D2 - Patch to extend timeshift buffer to 2 Hrs ?

Page 1 of 3
Goto page 1, 2, 3  Next
Andy K
Posted: Sat Dec 01, 2007 1:59 pm Reply with quote
Frequent contributor Joined: 14 Jun 2005 Posts: 3497 Location: Owner of 3 Topfields
Yes I know I shouldn't be using it, as it is at risk. however sometimes I use it on the music channels so I can later skip the songs I don't like and ads.

Also when I leave the toppy I find that 1 hr buffer is not long enough. I notice other PVR's have a 2 hr buffer.

I wondered if it was a 5 min job for you to be able to create a patch to extend the buffer to 2 hrs ?

In an ideal world, the standard toppy options screen would have the options disable / 1Hr / 2 Hr
but I expect that is too difficult for a patch.
Could always change the enable to enable 2h so you know it's patched though.

Thanks for reading....

_________________
Autostart TAPs: Jags 3, Bookmark 2uk, Quickjump 1.71, Power Manager 1.1, Description Extender 1.5/2.1, MEI2Archive 3.8l6, Tap Launcher 3.5a, Tap Commander, AccurateBMExtend 0.3, RemoteExt 1.5, TunerRecAR.2
Launched during EPG scan: Crid, SeriesLink 0.35
TF5800 Version 5.13.65 PHT2UFXp5Xw3RpPcE2Bf2BqRsRh3Pf1Ec2ErEfHe1 Ra3Cf2Ct
Samsung 400Gb+Fan
View user's profile Send private message
bdb
Posted: Sat Dec 01, 2007 3:02 pm Reply with quote
Frequent contributor Joined: 18 Oct 2005 Posts: 499
I don't think this is a 5 minute job ... but it would be nice.

I built 'record-a-mux' as a by product of trying of figure out how to get better control of the timeshift buffer. I was really trying to prevent it from being cleared each time you change channels, so that you end up with a buffer of the last hour regardless of channel changes. It does become a bit tricky to set the correct playback parameters though.

Extending the timeshift buffer was also on my list - the main problem is to do with how the firmware tracks the state; it maintains a table containing the disk sector for each 10 second point [360 for the hour]. It might be possible to update this every 20 seconds instead ...

bdb
View user's profile Send private message
R2-D2
Posted: Sat Dec 01, 2007 3:09 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
I happen to be looking at a bit of timeshift code right at this moment, but I think bdb is the expert in this area. Unfortunately, the firmware is littered with the 3600 constant (1hour as seconds), and the reliant data structures are also fixed to this size. So while it's not impossible, a patch would be quite hard and (as you say) there would be very little point (since the buffer is so fragile). If you want an arbitrary length timeshift buffer then try this: press the Record button. Smile

Edit: I'm obviously a lot slower at typing than bdb.
View user's profile Send private message Visit poster's website
Andy K
Posted: Sat Dec 01, 2007 3:37 pm Reply with quote
Frequent contributor Joined: 14 Jun 2005 Posts: 3497 Location: Owner of 3 Topfields
Thanks for the replies

_________________
Autostart TAPs: Jags 3, Bookmark 2uk, Quickjump 1.71, Power Manager 1.1, Description Extender 1.5/2.1, MEI2Archive 3.8l6, Tap Launcher 3.5a, Tap Commander, AccurateBMExtend 0.3, RemoteExt 1.5, TunerRecAR.2
Launched during EPG scan: Crid, SeriesLink 0.35
TF5800 Version 5.13.65 PHT2UFXp5Xw3RpPcE2Bf2BqRsRh3Pf1Ec2ErEfHe1 Ra3Cf2Ct
Samsung 400Gb+Fan
View user's profile Send private message
bdb
Posted: Mon Dec 03, 2007 10:03 pm Reply with quote
Frequent contributor Joined: 18 Oct 2005 Posts: 499
aha ... took a few more than 5 minutes but most of that was waiting for the new extended 4 hour timeshift buffer to fill ...

timeshift_extend_v0.01.zip

- a firmware patch, or simple tap that just applies the patch and quits.
- provides a 2 or 4 hour timeshift buffer
- once applied, just change channels to restart the buffer. It should then fill to the new length.
- then keep you finger off the trigger ... 4 hours without any channel hopping!

bdb
View user's profile Send private message
R2-D2
Posted: Mon Dec 03, 2007 10:14 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
Cool! Nice bit of lateral thinking. Now if only the darn buffer weren't so fragile... Smile
View user's profile Send private message Visit poster's website
Andy K
Posted: Mon Dec 03, 2007 10:47 pm Reply with quote
Frequent contributor Joined: 14 Jun 2005 Posts: 3497 Location: Owner of 3 Topfields
Thanks very much.

Good idea having a TAP.

_________________
Autostart TAPs: Jags 3, Bookmark 2uk, Quickjump 1.71, Power Manager 1.1, Description Extender 1.5/2.1, MEI2Archive 3.8l6, Tap Launcher 3.5a, Tap Commander, AccurateBMExtend 0.3, RemoteExt 1.5, TunerRecAR.2
Launched during EPG scan: Crid, SeriesLink 0.35
TF5800 Version 5.13.65 PHT2UFXp5Xw3RpPcE2Bf2BqRsRh3Pf1Ec2ErEfHe1 Ra3Cf2Ct
Samsung 400Gb+Fan
View user's profile Send private message
R2-D2
Posted: Tue Dec 04, 2007 8:32 am Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
A potential issue springs to mind: saving the "current event". I'm pretty sure the code that BobD is using for MyStuff's version will break, but I think I can fix that.
View user's profile Send private message Visit poster's website
Andy K
Posted: Tue Dec 04, 2007 11:36 pm Reply with quote
Frequent contributor Joined: 14 Jun 2005 Posts: 3497 Location: Owner of 3 Topfields
Tried the 2hr TAP. Works well thanks very much Smile

_________________
Autostart TAPs: Jags 3, Bookmark 2uk, Quickjump 1.71, Power Manager 1.1, Description Extender 1.5/2.1, MEI2Archive 3.8l6, Tap Launcher 3.5a, Tap Commander, AccurateBMExtend 0.3, RemoteExt 1.5, TunerRecAR.2
Launched during EPG scan: Crid, SeriesLink 0.35
TF5800 Version 5.13.65 PHT2UFXp5Xw3RpPcE2Bf2BqRsRh3Pf1Ec2ErEfHe1 Ra3Cf2Ct
Samsung 400Gb+Fan
View user's profile Send private message
chunkywizard
Posted: Wed Dec 05, 2007 7:54 am Reply with quote
MyStuff Team Joined: 13 May 2005 Posts: 9277 Location: Sindlesham, Berkshire Tx: Hannington
Hi R2

Can you add the patch variant to your sticky list of patches? Also I think there are a couple of other roundel related ones missing. Its hard to keep up at the mo but if the patch list I'd kept current I know where to check!

CW

_________________
Toppy:TF5800 F/W: 1365PaTcHeD
TAPs: MyStuff | EPG2MEI | FontManager | SecCache UK | Extend | FastScanGUI | EIT_sub_game | MyInfo | ScreenCapture with OSD | MHEG On/Off
MyStuff Manual & Logos | Known Bugs | Recommended F/W
View user's profile Send private message Visit poster's website
R2-D2
Posted: Wed Dec 05, 2007 10:38 am Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
chunkywizard wrote:
Can you add the patch variant to your sticky list of patches? Also I think there are a couple of other roundel related ones missing.
I think it's good to leave new patches to mature a bit before "promoting" them to the sticky and the PatchPack. (For instance, I've sent bdb an update to his patches which should allow them to work on other firmwares -- they didn't work for me on 5.13.40.)
View user's profile Send private message Visit poster's website
charley
Posted: Wed Dec 05, 2007 12:18 pm Reply with quote
Frequent contributor Joined: 13 Jul 2005 Posts: 1563 Location: Belfast
There is a minor typo in the readme.txt, all four TAPs and patches have the same description, "extends timeshift buffer to 2 hours".

_________________
regards Charley
Toppy: TF5800PVR250GB &300GB;Firmware: ; Remote: Harmony 655; Tx:Divis; Autostart TAPs: MEISearch 1.35, MyStuff 6, AutoReboot V2.2, epg2mei, Power Manager v2.0, TAP Commander 1.2, TF5000 Display v1.50, MHEG_State; Other:
View user's profile Send private message
bdb
Posted: Wed Dec 05, 2007 11:35 pm Reply with quote
Frequent contributor Joined: 18 Oct 2005 Posts: 499
update: timeshift_extend_v0.02.zip

- corrected the patch files so that they should run correctly on other firmwares [I've no documentation for the patch file format...]
- tweaked the search addresses so that it should match a few more firmwares
- only tested on 14.06

- r2
can you check it now runs on yours?
do you have a way to merge patch files? by rebuilding the list, I lost all your additions.

bdb
View user's profile Send private message
neilpercy
Posted: Thu Dec 06, 2007 3:21 am Reply with quote
Frequent contributor Joined: 17 Oct 2006 Posts: 220
wow, is there anything you guys can't do!

Very Happy Very Happy Very Happy

_________________
TF5800 456, TS On, F/W: MS6 Recommended F/W 12/9/2009 -FmSyXp+BmEzPfR3WfZ
TAPs: (EIT Sub v0.6 SnG); Goldfish 0.5; MyStuff 6.4; Tap Launcher 3.10; SecCache (UK) v0.4; EPG2MEI v0.96; TAP Commander 1.34; Extend v1.7; Skip 1.34a (TF5800PVR); MHEG On/Off A3; mei2archive BETA 3.8l7; MyInfo B5.6; FFWD v0.7; TSSaver v0.5;
Sig generated by MyInfo on 14/10/11
View user's profile Send private message
R2-D2
Posted: Thu Dec 06, 2007 8:09 am Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
bdb wrote:
[I've no documentation for the patch file format...]
I'm not sure there is any. What I do is copy the section of code I think will be a sufficiently good match as "OriginalCode", and then try to make a generic patch ("DestinationGP=0"). First, add a "SearchMask" (nee "OriginalMask") that has a bit set for each bit in the "OriginalCode" that you want to actually match (you don't want to match things that change, like function and firmware variable addresses, but maybe also some branch offsets and register usage). Then add the patched version of the code as "PatchCode", and add a "PatchMask" that has a bit set for each bit you want the "PatchCode" to actually affect (you generally don't want it to change function calls or firmware variables, unless you are eliminating those references, so where there is a 0 bit in the "SearchMask" there should normally be a 0 bit in the "PatchMask").

So, for example, your TimeshiftExtend patch generally just adjusts the scaling constants, so there need only be a few bits set in the "PatchMask" where those constants are being changed.

The subtlety of the "SearchMask" is so that you can match lots of firmwares, since they will tend to use the same code, but may have slightly different register usage. If you can't do it like this then to catch different models/firmwares you may have to split your code into parts ("Segments") if there's a little extra code in some firmwares, or add separate generic patches.

Obviously you can't do things like add function calls and firmware variable references (or move them about) using a generic patch, but you can do anything you like if you write specific patches (with a specific "DestinationGP" and specific "Address" in each patch segment).

The problem I had with the original TimeshiftExtend patch under 5.13.40 version was that the PatchMask was adding in incorrect references, since it had too many bits set. When I first started patching I used to copy the OriginalMask as the PatchMask and then adjust the bits that weren't right, since doing it the "proper" way sometimes didn't seem to work. But I think the new patcher works much better and so now I start with a PatchMask that's all zeroes and then set the individual bits that I actually want to change. (This is much better since it's then nice and easy to see what you're changing.)
View user's profile Send private message Visit poster's website

Display posts from previous:  

All times are GMT
Page 1 of 3
Goto page 1, 2, 3  Next

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum