Just started working on a simple CPU miner in C, mainly as a demonstration, and to understand ‘getwork’.
Repository is at git://github.com/jgarzik/cpuminer.git
Implementation is complete… but it does not work, so don’t get too excited. I suspect something weird going on with ByteReverse (or lack thereof). It’s quite unclear whether or not ‘data’ and ‘nonce’ must be byte-reversed, and in what way.