I was going to open my unit today and see what some of the chips are in it, but to get to the major stuff you have to desolder a little tin box, and I didn't feel like getting my soldering iron out.
There are lots of firmware like stuff written in c, such as on one project I help with called rockbox http://rockbox.haxx.se/
As for the processor type, gcc suports alot of differn't proceessors, even if they don't support it, somewhere they may be a compiler that does.
If I ever get time to try, I will do some research and make a proof-of-concept version.