modifying .nbf images to fit your device
When you use an official ROM upgrade (RUU) package to flash the Operating System ROM of your Wallaby, the upgrade utility is very picky as to whether it will let you upgrade or not. It makes sure the model number, language and some special three digit code match the existing ROM on your device.
If you run 'adaptROM.exe', it will use ActiveSync to ask your Wallaby the same questions that the update program 'Programme A' will be asking later. (If it can't find your device, it will prompt you to insert it into your cradle before pressing 'retry'.) It then adapts the ROM image to what 'Programme A' would like to see in order to let you upgrade. It changes the model number, language and three-digit code in the ROM image file, and then calculates a new checksum and inserts it into the file.
By default, 'adaptROM' will modify the image to whatever your device says it is. Using the the command line argument '-only', you can specify what models it should modify the image for. For instance 'adaptROM -only PW10A1,PW10A2' will only allow modification of the ROM for flashing into 900/1800 MHz devices (900/1900 devices have model numbers with a 'B' instead of the 'A').
How it works
AdaptROM reads the current directory and checks to see if there is exactly one subdirectory (usually called 'english'). It then looks in this subdirectory and expects to find one file with a '.nbf' extension. It then checks the checksum on this file and exits if it is wrong.
If the checksum computes it then queries the device for model number, language and three-digit code, and puts these in the 32 byte header of the '.nbf' file if any present '-only' arguments allow. It then recalculates the checksum and inserts it. After this is done, it renames the directory it found the '.nbf' file in to the name of the language of the ROM on the device.