could you point me to the related change in the commits?
many thanks!
these answer i have to leave for danbi
i dont work with code
This is the most important code:
if (gpus[0].kernel == KL_FUGUECOIN || gpus[0].kernel == KL_GROESTLCOIN || gpus[0].kernel == KL_TWECOIN)
sha256(pool->coinbase, pool->swork.cb_len, merkle_root);
else
gen_hash(pool->coinbase, merkle_root, pool->swork.cb_len);
As you can see, Groestlcoin will go into sha256(), while Diamondcoin will go into gen_hash()
Correct. It took me a lot of time to realize the solution is *that* simple, but I eventually went for adding the full support for a new kernel, 'diamond'. The reason is that at some future time GroestlCoin might change something and we will end up with non functional miner by depending on their algorithm/special case.
I also skimmed by not cloning the groestl function processing as well, but will likely do it at later date (add diamond specific hasing functions), so again, if GroestlCoin spec is changed, we don't suffer.
Since all these changes are rather trivial, I would expect other mining software to adapt. I modified only this miner, because it's what I use. If theer is interest, I can look at the code of other miners as well. Just don't ask me to compile on Windows!