Rein, 8 core Intel, 4 GHz.
Attached the source, so all may use, or propose improvements.
I noticed that Harm, Ed, and you use these ray masks for king jumps. It took me a long time to fully understand how they work, but they are very clever! However, because the ray masks are of constant length and shifted per origin square, they interact with the ghost squares in a tricky way. I managed to improve (well, On My Machine TM) this by making a table of square-specific jump detection masks. This allows some early "cut-offs" in my capture routine. I'll write something longer about it when I have some more time.
Another thing that I do differently is king move generation: I use what the chess programming wiki calls the Classical Approach In One Run, which is 5 table lookups XOR-ed together, and then a single bit-serialization for each king origin square.
On my TODO list is generalizing my capture routine to generate both moves, GUI moves with path info as well as successor positions from the same routine.
My source is here: https://github.com/rhalbersma/dctl/tree ... ons/detail
(warning, template-heavy code!). Feel free to ask anything.