To get past a hurdle in a project, I've recently written a disassembler for the PSoC 1. The source is in C and compiles with GCC under Cygwin or Linux (and probably anything else, it's all pretty generic stuff).
For more details, please see the project page at code.google.com/p/m8cdis/
Suggestions, improvements, etc welcome. My email address is in the README file, or you can submit it as an issue.
Retrieving data ...