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

<  Firmwares, enhancements and upgrades  ~  aXeL - accelerated loader

Page 1 of 8
Goto page 1, 2, 3, 4, 5, 6, 7, 8  Next
DeadBeef
Posted: Tue May 01, 2007 11:09 am Reply with quote
Frequent contributor Joined: 09 Jan 2006 Posts: 264
aXeL - accelerated loader

aXeL is an extension for the standard Topfield boot loader. aXeL reduces the boot time by 2.5-2.8 seconds. The boot time of a TF5000 with aXeL is approximately 8.5 seconds (power up to the first FTA picture, acceleration and HDD patches applied).

aXeL has been successfully tested with the following Topfield PVRs:
- TF5000 PVR
- TF5000 PVR Masterpiece
- TF5500 PVR
- TF5000 PVRt
- TF5200 PVRc
- TF5100 PVRc
- TF5800 PVRt
- TF6000 PVR
Possibly it works with other Topfield receivers based on a similar hardware.

Download:

Installation

Since aXeL is an extension it requires some special treatment during installation:
  • Extend the firmware TFD file to be used with aXeL:
    Execute TfdExtenderGui , select the input file and press OK. The tool will create an output file with a filename containing the suffix "_aXeL.tfd". (A command line tool is also available.)
  • Upload the extended TFD file to Toppy using TFDN_USB or VegaPack.
  • Upload the file aXeL.tfd to Toppy (it contains the wildcard system ID 39321).
  • Reboot the Toppy.

The display should show the original loader ID for 1.5-3 seconds and then switches to displaying "Load" ("Loading" on Masterpiece). The harddisk should start spinning up. Once the firmware has been uncompressed and started by aXeL it takes over the display ("run").

Known side effects

Side effect: It is (almost) not possible to prevent TAP to load from autostart by pressing 0. The PVR usually starts loading TAPs from autostart as soon as the harddisk is ready. Due to an early harddisk activation by aXeL the time window to accept 0 is very small.
Workaround: aXeL 1.01 (and newer) distinguishes between power on requests from the front panel and the remote control. Whenever the PVR is powered on by the front panel aXeL does not perform early activation of the HDD which allows more time to press 0 to prevent TAPs from loading.

Side effect: After start the picture disappears for about 1 second like on channel switch. This side effect is caused by TAPs being loaded from autostart and consuming a lot of CPU time.
Workaround: Use the TAP Bootmenu ot the like to delay start of performance hungry TAPs.

Disclaimer

The use of the software is done at your own discretion and risk and with agreement that you will be solely responsible for any damage to your computer system or loss of data that results from such activities. The author assumes no responsibility for errors. The software is provided 'as is' without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of fitness for a purpose. Even if the concept (see below) does not include any radical manipulations on the receiver it is still possible that the receiver may stop functioning.

Technical details

aXeL compensates two weaknesses of the original Topfield boot loader:

  • it speeds up the decompression of the compressed firmware
  • it allows the HDD to start before the firmware is loaded so that the HDD has some guard time to spin up

The Topfield boot loader consists of two parts, the primary boot loader and the secondary boot loader. The primary boot loader runs from flash. It uncompresses the secondary boot loader to 0x81000000 and starts it. The secondary boot loader checks whether an external device is trying to connect. If it is not the case the secondary loader uncompresses the firmware image stored at 0xbfc10000 until a special block signature is detected. Then the control is passed to the firmware uncompressed to 0x80000000.

Original flash map:
bfc00000 - bfc00fff: primary Topfield loader
bfc01000 - bfc0ffff: secondary Topfield loader
bfc10000 - bfdfffff: compressed firmware image
...

Flash map with aXeL:
bfc00000 - bfc00fff: primary Topfield loader
bfc01000 - bfc0ffff: secondary Topfield loader
bfc10000 - bf1fffff: compressed aXeL binary
bfc20000 - bfdfffff: compressed firmware image
...

aXeL pretends to be a small firmware image which can be uncompressed in a very short time. aXeL enables the HDD, relocates its own code and data to 0x81000000 and uncompresses the actual firmware image stored behind aXeL to 0x800000000.

The installation trick is based on the observation that the Topfield loader erases only the blocks which are required for the new firmware. That is, if the "firmware" is smaller than 64 kB only the first block is erased and the other blocks remain in the flash. In order to exploit this behavior it is required to create a TFD file with the actual firmware starting at the offset of +64 kB. Since the upload tools usually recode the original TFD content it is essential that the data is not compressible to ensure it always allocates 64 kB in the flash.

aXeL does not replace the original boot loader to avoid problems with non-recoverable installation errors.

Acknowledgements

Many thanks to FireBird who provided the initial idea, contributed a lot of code samples and hints, patiently analyzed problems and encouraged me not to give up.

I also want to thank Happy who ran some tests on his Toppy.

Version history
2007-05-05 1.01
- added detection of the boot reason to allow delayed HDD activation (necessary to prevent loading TAPs from autostart)
- inflated the size of the binary to avoid loading problems on TF6000

2007-05-01 1.00
- initial version


Last edited by DeadBeef on Sun May 13, 2007 5:04 pm; edited 3 times in total
View user's profile Send private message
nwhitfield
Posted: Tue May 01, 2007 11:24 am Reply with quote
Site Admin Joined: 20 Mar 2005 Posts: 9579
Now, that's interesting... is it the primary or the secondary boot loader than switches SCART pin 8? I suspect it's the primary, but maybe not...

If so, it could be one part of the solution to the way the Toppy triggers TVs to switch when it wakes up to do a recording.

Nigel.

_________________
Support this site - make a donation to our running costs
View user's profile Send private message Visit poster's website
DeadBeef
Posted: Tue May 01, 2007 11:38 am Reply with quote
Frequent contributor Joined: 09 Jan 2006 Posts: 264
nwhitfield wrote:
Now, that's interesting... is it the primary or the secondary boot loader than switches SCART pin 8? I suspect it's the primary, but maybe not...

If so, it could be one part of the solution to the way the Toppy triggers TVs to switch when it wakes up to do a recording.
The primary boot loader is pretty dumb. I am not sure whether the secondary boot loader initializes the video matrix controlling the SCART output. It might be the default reset value in the hardware. Anyway, since aXeL does not replace the original boot loader it has no impact on the functional behavior. The only thing which could be done by aXeL would be deactivating the SCART output at a very early stage. Though, it still might trigger the TV to switch.
View user's profile Send private message
nwhitfield
Posted: Tue May 01, 2007 11:42 am Reply with quote
Site Admin Joined: 20 Mar 2005 Posts: 9579
Mmm; I'm wondering if it would be possible to have a combination of a boot loader and a TAP, so that the SCART output is suppressed if the box is waking up for a recording, and perhaps enabled again when a key is pressed on the remote.

That would solve one of the common complaints about the Toppy.

Nigel.

_________________
Support this site - make a donation to our running costs
View user's profile Send private message Visit poster's website
DeadBeef
Posted: Tue May 01, 2007 12:41 pm Reply with quote
Frequent contributor Joined: 09 Jan 2006 Posts: 264
There are two possible side effects when using aXeL:
- The receiver does not always accept "0" to stop TAPs from loading. "0" has to be pressed at a certain time (to be investigated).
- The picture might disappear after start for about 1 second if there are TAPs in Autostart which consume much CPU time during their initialization. It seems to be a timing issue in the firmware.

nwhitfield wrote:
Mmm; I'm wondering if it would be possible to have a combination of a boot loader and a TAP, so that the SCART output is suppressed if the box is waking up for a recording, and perhaps enabled again when a key is pressed on the remote.
There would still be a blackout of approximately 1.5 seconds.
View user's profile Send private message
Livy
Posted: Tue May 01, 2007 4:06 pm Reply with quote
Frequent contributor Joined: 14 Jul 2006 Posts: 584 Location: Fife, Scotland
is this a new version of the Startup accelerator patch? or another patch that can be applied aswell.

_________________
  • TF5800PVR Black Panther 250GB - 5.13.65 Patched to the hilt - aXeL 1.01
  • Autostart - MyStuff v6.4, Extend v1.7, EPG2MEI v0.96
  • Tap Commander 1.34, TF5000 Display 1.53a, SecCache (UK) v0.4, EIT Sub v0.6
  • Connected via Buffalo Linkstation Live 2TB
View user's profile Send private message
DeadBeef
Posted: Tue May 01, 2007 4:13 pm Reply with quote
Frequent contributor Joined: 09 Jan 2006 Posts: 264
Livy wrote:
is this a new version of the Startup accelerator patch? or another patch that can be applied aswell.
No, it is a boot loader extension. It can be applied independently of other patches.
View user's profile Send private message
matt
Posted: Tue May 01, 2007 4:45 pm Reply with quote
Forum moderator Joined: 30 Mar 2005 Posts: 2305 Location: St Ives, Cornwall Transmitter: Redruth
I'm assuming this extension would make future firmware upgrades easier, too? (ie. file copy rather than firmware flash)

_________________
PVR: TF5800, MyStuff recommended firmware, new PSU, 250GB Spinpoint HDD, Zalman ZM-OP1 fan TAPs: QuickJump 1.72, MyStuff 6.4, EPG2MEI 0.96, Extend 1.7, Bookmark 3, UK Auto Scheduler 0.73, SecCache 0.4, EIT Sub 0.6, SDS 1.3, TAP Commander 1.34, Font Manager 1.0d. Others: HDFW 2.3a, Channel Manager 5.1, FastScanGUI, MyInfo TV: Philips 37PFL9603D
View user's profile Send private message Visit poster's website
danb77
Posted: Tue May 01, 2007 6:28 pm Reply with quote
Frequent contributor Joined: 20 Nov 2005 Posts: 763
Anyone brave enough to try it on their TF5800? Twisted Evil

_________________
TF5800, IA On, TS On, F/W: 13.65AbBfBmBqC0CeCkCpCwCyDeEcEeEfEpErEsEvFFlFmFsGmHHeIKtMMhNfOtPPcPePfPsRRaReRhRpRsSScSdSlSrStSyT2TaTdTeTfTpTsUUuUxVrWfXpXwZXl
TAPs: SDS V1.3d; Extend v1.7; TF5000 Display v1.53; QuickJump 1.69; MyStuff 6.0; Tap Launcher 3.10; Font Manager 1.0d; TAP Commander 1.34; WSSkiller V2.12d; Power Manager v1.2; UK Subtitle 1.8; SecCache (UK) v0.4; EIT Sub v0.6; MyInfo B4.0; EPG2MEI v0.93e;
Sig generated by MyInfo TAP on 21/9/09
View user's profile Send private message
DeadBeef
Posted: Tue May 01, 2007 7:06 pm Reply with quote
Frequent contributor Joined: 09 Jan 2006 Posts: 264
matt wrote:
I'm assuming this extension would make future firmware upgrades easier, too? (ie. file copy rather than firmware flash)
Sorry to disappoint you but the current version of aXeL does not load the firmware from harddisk.
danb77 wrote:
Anyone brave enough to try it on their TF5800?
First come first served. Wink Users in the German forum did not hesitate that long.

As mentioned above the secondary loader considers aXeL to be a small firmware image. So you can replace aXeL with a regular firmware anytime.
View user's profile Send private message
matt
Posted: Tue May 01, 2007 7:32 pm Reply with quote
Forum moderator Joined: 30 Mar 2005 Posts: 2305 Location: St Ives, Cornwall Transmitter: Redruth
DeadBeef wrote:
matt wrote:
I'm assuming this extension would make future firmware upgrades easier, too? (ie. file copy rather than firmware flash)
Sorry to disappoint you but the current version of aXeL does not load the firmware from harddisk.

Ah, I misread that above.

Smile

matt

_________________
PVR: TF5800, MyStuff recommended firmware, new PSU, 250GB Spinpoint HDD, Zalman ZM-OP1 fan TAPs: QuickJump 1.72, MyStuff 6.4, EPG2MEI 0.96, Extend 1.7, Bookmark 3, UK Auto Scheduler 0.73, SecCache 0.4, EIT Sub 0.6, SDS 1.3, TAP Commander 1.34, Font Manager 1.0d. Others: HDFW 2.3a, Channel Manager 5.1, FastScanGUI, MyInfo TV: Philips 37PFL9603D
View user's profile Send private message Visit poster's website
andyrogers
Posted: Tue May 01, 2007 8:59 pm Reply with quote
Frequent contributor Joined: 07 Dec 2005 Posts: 814
I have been brave an tried it on my TF5800T.

These modded/patched Toppy firmwares just get better & better.

This patch does what it says, you would expect FireBird & DeadBeef both be working for Topfield directly.

It is ashame that they do not curretnly seeme to have incorpated any of these patches into the firmware releases.

It was a bit hairy at first, i applied the first patch, then you nee to apply the second patch straight away.

Then you switch back on and you notice the difference immediatley.

Andy

_________________

Firmware: 5.14.09 Patched
AutoStart Taps: MyStuff v5.52b, eit2mei beta 7.8m7, , Power Manager v1.2, Tap Commander v1.32, TF5000 Display v1.53a, Discription Extender v2.3, SDS 1.3b, QuickJump 1.72
Other Taps: Sudoka, mei2archive, mei2eit, snake, meisearch
View user's profile Send private message
birdman
Posted: Tue May 01, 2007 10:04 pm Reply with quote
Frequent contributor Joined: 13 Dec 2006 Posts: 1765 Location: Hitchin, HERTS Tx: Sandy Heath
nwhitfield wrote:
Now, that's interesting... is it the primary or the secondary boot loader than switches SCART pin 8? I suspect it's the primary, but maybe not...
I think it's both (or neither - and it's something at a hardware level instead). My TV switches to the Toppy input as soon as the Toppy powers on and if I switch back to TV immediately the Toppy will switch it back again a few seconds later, so it definitely switches twice. Likewise the USB port is activated twice (it appears on the Asus USB bus, disconnects, then connects again as the Toppy boots).

Edited: Well, when I happened to switch the thing on a few minutes after posting this it only switched once - which is odd since I know I've seen it switch twice on boot up before now (the USB did connect, disconnect, connect though).


Last edited by birdman on Tue May 01, 2007 11:06 pm; edited 1 time in total

_________________

Toppy: TF5800PVR/250 - Black, now 1TB WD10EURX
F/W: MS6 Recommended F/W 12/9/2009 -FmVrXp+BmC0CbFsIPsUUuWfZXl,
Loader: C5.14, Hardware: 1.01
TAPs: SecCache (UK) v0.4; EPG2MEI v0.96; FontManager 1.0d; QuickJump 1.71; MhegOnOff(Now1) A3; EIT Sub v0.6; MyStuff 6.6
USB connected: SheevaPlug with Debian wheezy
Sig mostly from MyInfo on 26/10/09
View user's profile Send private message
R2-D2
Posted: Tue May 01, 2007 10:16 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12148
WOW! Utterly brilliant!

As mentioned above, you need to use something connected directly to the Toppy (like TFDN_USB) to do the second upload (the tiny aXeL.tfd) because the Toppy will be rebooting from the first upload. I did the first upload using ftpd-topfield, then took my laptop over to the Toppy to do the second bit. (If you don't catch the Loader for the second stage then you'll be stuck on a C456 display.)
View user's profile Send private message Visit poster's website
nwhitfield
Posted: Tue May 01, 2007 10:41 pm Reply with quote
Site Admin Joined: 20 Mar 2005 Posts: 9579
The USB is once for the firmware update, via the loader, then the second connection is the main device, for Altair.

I've seen the countdown on a connected TV for a firmware update, so some part of the loader activates SCART for that. But I think the second activation is when the system is running, for the TV picture.

Nigel.

_________________
Support this site - make a donation to our running costs
View user's profile Send private message Visit poster's website

Display posts from previous:  

All times are GMT + 1 Hour
Page 1 of 8
Goto page 1, 2, 3, 4, 5, 6, 7, 8  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