How to Start Developing for Old Windows Phone
Background
Through a discussion on a Discord server, I was motivated to try and make something for Windows Phone 8(.1).
I had an old Nokia Lumia 920 sitting in a drawer, which actually was my first flagship phone that I have ever bought, so why not try do something interesting with it.
Here I have documented my findings in getting a toolchain running for the phone. I might be missing some details and if so please let me know over the usual channels.
Tools needed (in order)
- Windows Device Recovery Tool
- OtcUpdater Tool, patched for TLS 1.2
- FFU image for the phone and emergency files
- Engineering SBL3 files for the phone (finding these is an exercise left for the reader)
- WPinternals
- Visual Studio 2015 Community Edition
- Windows Phone SDK 8.0
- Windows Phone SDK 8.1
Ways to develop for the platform
The Windows Phone 8.0 platform supports multiple ways for developing applications.
Most notable ones being:
- C++ / DirectX
- C# / DirectX
- Visual Basic / DirectX
Also starting from a later build of Windows Phone 8.1, Native JS applications were supported with WebGL.
Effectively the WebGL in the Native JS is limited by what was supported by IE11 at the time.
In my own adventure, I decided to go with Native JS and WebGL, but as mentioned there are multiple options when making a demo!
First steps, getting the phone ready
The official way to get the phone ready to serve as a development device, so that you can deploy your code directly to the phone for testing instead of using the WP8 emulator included in the SDK, is to register your phone as a developer device.
I am unsure whether the registration still works as I have not tried it, but using this method, if it works, means you do not need the WPinternals tool or the Engineering SBL3 files. The official method is documented here.
Because my Lumia 920 was missing some OS updates and was still running Lumia Cyan, I had to update it. The onboard update mechanism no longer worked, so I had to formulate another solution. I needed the latest Windows Phone 8.1 build so that I could use Native JS and WebGL with the phone. Updating the phone through an USB cable using the OtcUpdater tool worked. This needed to be done before unlocking the bootloader of the phone.
The OtcUpdater tool applies all the latest Microsoft OS updates, but it did not install Nokia Lumia Denim, so no Glance Screen for me. :( (if you know a way to do this, please ping me on Twitter!)
The Windows Device Recovery Tool is needed for its drivers, but it can also be used to reflash the phone in case of an error.
I unlocked my Lumia 920’s bootloader with the help of the WPinternals tool. For this, an FFU file, emergency files, and SBL3 were needed.
To get the Visual Studio 2015 to recognize the phone and deploy code to the phone, I also needed to unlock root filesystem access with WPinternals.
After all the unlocks, the phone works very well as a developer device.
Installing the development environment on a PC
I had an old Windows 10 laptop handy to which I installed all the mentioned tools. For the actual development tools you will need Visual Studio 2015 Community Edition and after installing you will want to install the SDK ISOs for both WP8.0 and WP8.1. With these you’ll get the emulator and all the necessary application templates.
The end
After all these steps, you should have a working toolchain for developing applications and demos for the WP8 platform. Good luck!
Next up I will be sharing useful development resources.
>> Home