[Skip top navbar]

Andrew Gregory's Web Pages

Guilderton Lighthouse 30°20'24"S 115°29'31"E

-

Toolbar Patcher


History

Toolbar Patcher Version History
VersionDateDescription
1.022003-05-25
  • SIS file now supports all English language (UK, US, Aus, NZ) installs
1.012003-05-20
  • Added another bugfix to the Toolbar.opo related to latching toolbar buttons
  • Included the Toolbar source code
1.002003-05-19
  • First official release

Description

WARNING: This application hex-edits executable files directly. It may screw up some or all of your installed applications! Having said that, I've had no problems on my netBook. If you have problems, please contact me and tell me what happened. I won't be able to restore your application (which a simple re-install should fix), but I should be able to modify the patching process to become compatible with the problem application.
USE THIS AT YOUR OWN RISK!

A bug in the OPL Toolbar module supplied in Release 158 or later operating systems for the netBook and Malaybook (but not Series 7) causes the battery status indicator to look like:

Bad battery indicator

Instead of:

Good battery indicator

This application patches (fixes) installed OPL applications to use the Toolbar.opo on the C:, D:, or E: drives (if it exists on one of those drives) instead of the buggy one built into the Z: (ROM) drive. If no Toolbar module is on those drives, the applications are patched back to the Z: drive.

NOTE: All installed OPL applications are scanned and patched automatically. There is no option to patch a subset of the installed applications.

Every time you install a new OPL application, you'll have to remember to run Toolbar Patcher again. It only takes a few seconds.

This only patches OPL applications, it does not affect programs written in C++ or Java (or any other language).


How It Works

Toolbar Patcher works by first searching drives Y down to C inclusive for "\System\Opl\Toolbar.opo". The copy on the Z drive (ROM) will be used if nothing else was found.

Next, it performs a case-insensitive search on all installed OPL applications for the string ":\System\Opl\Toolbar" (that's right, without a drive letter or ".opo" extension).

For each instance found, the character just before the found string is checked. If it's a letter A through Z it is altered to the drive letter where Toolbar.opo was found.


Background

When I bought my netBook (the "MalayBook" variety), I noticed that the battery status indicator would go strange. Eventually I realized that it was only OPL applications that were affected. There had to be a bug in the Toolbar.opo supplied in the ROM!

It didn't take too long to figure out it was simply using the wrong image index to display the battery status. A quick edit of the supplied source code and it was fixed. However, when I copied the new program into the System directory, nothing had changed. This is because almost all OPL applications only look at the Z: drive for the Toolbar module, instead of first checking the other (C:, D:, or E:) drives for a replacement version. Therefore, the applications all needed patching to change the reference from the Z: drive to the drive where I'd installed my replacement Toolbar module.


Notes

Toolbar Patcher has been tested on my "MalayBook" (Version 1.05(281) Release 158) and a netBook (Version 1.05(450) Release 158). It should be compatible with all Psion EPOC machines, such as the Series 5, 5mx, Revo, Revo+, and Series 7.

On the other hand, the supplied Toolbar module is most likely compatible only with netBooks (and MalayBooks). Series 7 machines are not affected by the battery status bug (confirmed on a Version 1.05(254) Build 756).

If you're into a bit of programming, feel free to use your own replacement Toolbar.opo.


To Do

Update

2003-06-23: With the kind assistance of many people, I have obtained copies of the Toolbar source code for many different models of EPOC machines. Currently I have some code that appears to be portable across every model except for the netPad. However, it is missing indicator support. This means the battery indicator. I was in the process of writing my own battery indicator when another project diverted me. On the completion of that I will return to my replacement Toolbar project.


Download

tbpatcher.zip (18543) Toolbar Patcher

Important! If you want to uninstall Toolbar Patcher, use the "Revert to ROM" button first, otherwise your OPL applications that use the toolbar will stop working! Unfortunately, it's not possible to have the uninstall process run Toolbar Patcher to do that automatically.


-