In order to create Commando 2084, I had to disassemble Commando. My original intention was to patch what was only needed and stop there. But I got carried away and I ended up analyzing and commenting the entire Commando code.
The commented code (that can be recompiled to generate the exact original binary) is here:
One thing that bothered me was that I needed to switch WiFi networks every time that I wanted to use the UniJoystiCle. Not a major issue, but not ideal specially if you use your phone both for the UniJoystiCle and for “regular” stuff.
To solve that issue, I added WiFi Station mode support (Access Point mode is still supported). Basically the UniJoystiCle WiFi device, when in Station mode, can connect to any WiFi network. It also supports WPS (an auto-auth way to connect to a network). If Station mode fails, it will default to Access Point mode.
In order to switch to Station mode you have to:
Install firmware v0.4.3 (see below for more info)
Boot the UniJoystiCle WiFi device (it will boot in Access Point mode)
Select “Station” mode, put the credential (SSID and password) and reboot!
From http://unijoysticle.local you can also configure the “Inactivity timeout”: how many seconds without activity should elapse before all the joystick lines are set to Low (simulates no joystick movements).
I also added statistics: It tells you how many seconds you spent on the different joystick positions, and how many movements you did. Useful, right? 🙂