| Author |
Message |
< TAP and patch development ~ FAO R2-D2 - Patch to extend timeshift buffer to 2 Hrs ? |
|
Page 1 of 3
|
| Andy K |
Posted: Sat Dec 01, 2007 1:59 pm |
|
|
|
Frequent contributor
Joined: 14 Jun 2005
Posts: 3488
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 |
|
| Back to top |
|
| bdb |
Posted: Sat Dec 01, 2007 3:02 pm |
|
|
|
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 |
|
|
| Back to top |
|
| R2-D2 |
Posted: Sat Dec 01, 2007 3:09 pm |
|
|
|
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.
Edit: I'm obviously a lot slower at typing than bdb. |
|
|
| Back to top |
|
| Andy K |
Posted: Sat Dec 01, 2007 3:37 pm |
|
|
|
Frequent contributor
Joined: 14 Jun 2005
Posts: 3488
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 |
|
| Back to top |
|
| bdb |
Posted: Mon Dec 03, 2007 10:03 pm |
|
|
|
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 |
|
|
| Back to top |
|
| R2-D2 |
Posted: Mon Dec 03, 2007 10:14 pm |
|
|
|
Frequent contributor
Joined: 18 Dec 2006
Posts: 12149
|
Cool! Nice bit of lateral thinking. Now if only the darn buffer weren't so fragile...  |
|
|
| Back to top |
|
| Andy K |
Posted: Mon Dec 03, 2007 10:47 pm |
|
|
|
Frequent contributor
Joined: 14 Jun 2005
Posts: 3488
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 |
|
| Back to top |
|
| R2-D2 |
Posted: Tue Dec 04, 2007 8:32 am |
|
|
|
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. |
|
|
| Back to top |
|
| Andy K |
Posted: Tue Dec 04, 2007 11:36 pm |
|
|
|
Frequent contributor
Joined: 14 Jun 2005
Posts: 3488
Location: Owner of 3 Topfields
|
Tried the 2hr TAP. Works well thanks very much  |
_________________ 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 |
|
| Back to top |
|
| chunkywizard |
Posted: Wed Dec 05, 2007 7:54 am |
|
|
|
MyStuff Team
Joined: 13 May 2005
Posts: 9219
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 |
|
| Back to top |
|
| R2-D2 |
Posted: Wed Dec 05, 2007 10:38 am |
|
|
|
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.) |
|
|
| Back to top |
|
| charley |
Posted: Wed Dec 05, 2007 12:18 pm |
|
|
|
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: |
|
| Back to top |
|
| bdb |
Posted: Wed Dec 05, 2007 11:35 pm |
|
|
|
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 |
|
|
| Back to top |
|
| neilpercy |
Posted: Thu Dec 06, 2007 3:21 am |
|
|
|
Frequent contributor
Joined: 17 Oct 2006
Posts: 220
|
wow, is there anything you guys can't do!
 |
_________________ 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 |
|
| Back to top |
|
| R2-D2 |
Posted: Thu Dec 06, 2007 8:09 am |
|
|
|
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.) |
|
|
| Back to top |
|
|
|
|