symbian-toysarchive

Series 60 software · 2006–2015

RomPatcher+

A smartphone propped against a stack of technical manuals on a desk lit by a single lamp
A smartphone propped against a stack of technical manuals on a desk lit by a single lamp

RomPatcher+ was an improved and fixed build of the RomPatcher software originally developed by ZoRn. Using it, the page said, it was possible to reach a new level of customisation for a Symbian phone. As with NaviFirm+, the site named the original author first and described its own contribution as a set of documented differences rather than a new program.

Archive notice. Symbian Toys was an independent hobbyist software project for the Symbian Series 60 platform, which Nokia discontinued in 2013. These pages preserve the project's own documentation as it was published. The software is no longer distributed here, and no support was ever offered for it. Device and platform names appear for identification only; the project was never affiliated with, endorsed by or connected to any device manufacturer.

Differences from the original

The list below is preserved from the archived page.

New

  • Patches could be applied and removed with a single click.
  • A vertical scrollbar was added.
  • Support was introduced for a new tag, +SuperPage, allowing the RAM area where the SuperPage is stored to be patched.
  • Two new options became available: Dump Rom and Dump SuperPage.

Fixed

  • The Kern-Exec 0 error when closing RomPatcher after a patch had been applied.
  • Unexpected crashes when using large and complex patches.

Improved

  • Shadow RAM memory is now fully released when a patch is removed.
  • Better device compatibility, including the Omnia HD, the 5630 and the E52, and probably later devices.
  • The Patch Info option shows every information line contained in the patch, rather than only the first.

What runtime patching meant

A patch here was not a firmware edit. The read-only portions of a Symbian firmware image were copied into shadow RAM at boot, and a runtime patcher rewrote the copy in memory — which meant the change took effect immediately, survived until the next restart, and left the underlying image untouched. Removing a patch put the shadowed memory back. That is a materially different risk profile from rebuilding the firmware image itself, and it is why "fully releases shadow RAM when a patch is removed" reads as a bug fix rather than a footnote: memory that was not released was memory the phone never got back until it was rebooted.

The Kern-Exec 0 fix belongs to the same family. It was the platform's generic invalid-handle panic, and on a program that manipulated live kernel-shadowed memory it was the single most likely thing to go wrong on exit.

Support policy

The page carried the project's standard notice — provided "as is", no technical support, and a direct request not to email about it — but it then did something more useful than most: it pointed readers at two community forums of the era, one Italian and one English-language, as the right places to ask. Those forums are recorded on the community links page.

Version history

Eight RomPatcher+ builds are evidenced in the download records: 2, 2.1, 2.5, 2.6, 3.0 and 3.1, plus two variants of 3.1 — a Lite version and a build for Belle Feature Pack 2, the last significant Symbian release. The full inventory is on the release archive page. Source was published in 2021 as the RomPatcher+ source repository.

The release note of August 2009

One passage from the archived page is worth preserving in full, because it is an unusually candid piece of writing for a software release. Faced with limited spare time, the author set out a decision procedure rather than a roadmap: the first final version of RomPatcher+ would be released publicly on 29 August, donations towards the project would be open until 6 September, and the response over that window would determine whether it was worth investing further time in the program or better spent elsewhere.

Almost nobody published that calculation, but almost every unpaid project of the period was making it. Two further releases — 3.0 and 3.1, the latter in three builds including one for the final Symbian release — appear in the record after that date, so the answer at the time was evidently yes.

Why a separate Lite build

The 3.1 generation shipped in three forms: a standard build, a Lite version, and one targeted at Belle Feature Pack 2. The archive does not record what distinguished the Lite build, and nothing is asserted here about it. The general constraint of the era is worth stating, though, since it shaped how this whole class of software was distributed: packages had to be signed to install on a 3rd Edition handset, and what a signed package was permitted to do depended on how it had been signed — so the same program frequently existed in more than one build, targeted at users with different signing options available to them.