One of the challenging projects that I took on was to completely disassemble the Timex Datalink Watch Operating System. Given that all I started with was just the watch and the four downloadable applications I had to figure out a way to get inside the watch. Given that they didn't document what processor was in the watch, nor the format of the application file, I had to take some guesses. Based on a Timex's Indiglo patent, I guessed that they used a Motorola 6805 processor and I wrote a custom disassembler to take apart the sample apps. After some more guesses, I ended up writing and downloading my first application to the watch from which I proceeded to learn about the memory organization. Eventually I learned enough to determine where memory was located and write a program to dump out memory 4 bytes at a time to the display of the watch and type it into my computer. As I learned more about the operating system and hardware I was eventually able to show 6 bytes on the display and speed up the discovery process.
With all that information in hand, I proceeded to create a set of tools for creating and managing wristapps as well as full online documentation and an SDK for not only the original watch but the variants that followed. The full SDK and documentation of it is online at http://toebes.com/Datalink/