Stockfish, like all engines, does this internally. The source code for Stockfish is available on their website. You could modify it to do as you wish. That's the only tactic I can think of.
Is there a program that can generate a legal move list given a certain diagram?

Why does that make you unhappy? What purpose do you have for such a program? It seems like taking GPL'd source code from an existing engine would be perfect for writing your own engine.

Why does that make you unhappy? What purpose do you have for such a program? It seems like taking GPL'd source code from an existing engine would be perfect for writing your own engine.
Because I'm just running this thing on another forum where people vote for the next move of the game via a poll. It's like vote chess here, but more crude.
So in order to make that work, all of the legal moves that can be made (given a certain diagram) should be listed as poll options.
If there's really nothing, that's just unfortunate.
Having to study source code and how to use it seems like too much trouble just to facilitate that game.

There are lots of things that do this, but 'm not sure if anything can print or copy the moves to clipboard.
eg:
- If you set up a position in Problemiste and you click the "test a move" menu, it gives you a move list. However, I dont think you can do anythinf except click on one move.
- you could run an engine with multiple threads in Scid or another gui, not sure what the maximum number of threads are. Every thread will show start with a unique 1st move in the engne wndow

It would actually be an interesting excercise to see if it is possible to build an Excel spreadsheet, which can evaluate a FEN and come up with a lst of legal moves.
Maybe I'll try that next time I'm bored.
Playing a little with crafty I got this.
Starting from position FEM:
3k4/8/8/2KP4/8/8/8/8 w - - 0 1
I executed crafty and the following commands:
trace 1
sd 1
setboard 3k4/8/8/2KP4/8/8/8/8 w - - 0 1
analyze
Then, at the end, I got the following output which list all legal moves:
==================================
= search iteration 1 =
==================================
1 Kd6 d: 1 [ -infnty, +infnty] n:16 Search2(9)
1 Kc6 d: 1 [ 8.17, +infnty] n:17 Search2(2)
1 Kb6 d: 1 [ 8.17, +infnty] n:18 Search2(2)
1 d6 d: 1 [ 8.17, +infnty] n:19 Search2(2)
1 Kb5 d: 1 [ 8.17, +infnty] n:20 Search2(2)
1 Kd4 d: 1 [ 8.17, +infnty] n:21 Search2(2)
1 Kc4 d: 1 [ 8.17, +infnty] n:22 Search2(2)
1 Kb4 d: 1 [ 8.17, +infnty] n:23 Search2(2)
Maybe you can make some script out of this. More info on crafty's commands here:
http://www.cis.uab.edu/hyatt/craftydoc.html

The only thing I could find was the JetChess move generator. A bit user unfriendly - requires a FEN string input for each position, but at least you can paste the moves to the Windows clipboard. Before calculating the perft, change the level to 2.
http://www.zipproth.de/jetchess/
My copy of Crafty has the trace command disabled. :(
It would actually be an interesting excercise to see if it is possible to build an Excel spreadsheet, which can evaluate a FEN and come up with a lst of legal moves.
Maybe I'll try that next time I'm bored.
I'm absolutely sure that this is possible. You really want to do it? Kudos! I mean, it's Excel programming.

The only thing I could find was the JetChess move generator. A bit user unfriendly - requires a FEN string input for each position, but at least you can paste the moves to the Windows clipboard. Before calculating the perft, change the level to 2.
http://www.zipproth.de/jetchess/
My copy of Crafty has the trace command disabled. :(
oh this is perfect! :D thanks!
Does anyone know of a free chess program where you can input any certain diagram and it will then generate a list of all possible legal moves that can be made from there?
Thanks!