I tried to upgrade a 7970 to 9.3 SCCP firmware and it wouldn't connect to my CME so I performed a factory reset using this method and the phone appeared to be bricked.
After power up it was just showing a blank screen followed by green lit headset light and cycling green line buttons. What I didn't know was that the factory reset actually removes the firmware from the phone and it now needed to find it again.
Some investigation showed that it was requesting an IP form DHCP and was requesting the file term70.default.loads from the option 150 TFTP server address.
Trying many different firmware versions and different TFTP servers it would successfully get the term70.default.loads but not do anything with it. Eventually I went all the way back down to firmware version 8.3 which I sourced from here.
With version 8.3 loaded on the tftp server the phone successfully read the term70.default.loads and continue to download the other binaries required although I had to rename the jar70sccp... file to Jar70sccp... with a capital J.
When reconnected to CME it still fails to load firmware version 9.3 with the message "Load Authentication Failed". I suspect that the signing certificate in 8.3 is unable to authenticate the load of 9.3 given that 8.3 was released back in 2007 and it's probably expired.