If you were really hardcore:
1. run DF through a disassembler
2. manually grep through the whole program in ASM replacing all OS and dynamic library calls with equivalents targeted to the system you're porting for
3. run that ASM code through an appropriate assembler
4. test and debug on real target hardware
5. repeat 2-4 until it works
I have seen it done with up to 3000 line C programs before, it took a couple months on the upper end of that. DF is probably about 250000 lines of C++ code at a guess, so I'll hazard a guess of five years minimum for such a project with a real team.
I'll add that a straight reverse engineering would be easier, as you don't need to do more than try to understand how the software operates algorithmically so skip most of steps 2 on as you can then just write functionally equivalent code... well actually someone other than you could write functionally equivalent code, as there has to be a separation between the two functions according to US law IIRC unless such reverse engineering is done with the original software's creators' consent.
All the above is YMMV, obviously.
The 250000 lines of code assumption is based on an asspull guesstimate using the "industry standard" (to my understanding) 5 errors per KLOC acceptability in final release software extrapolated to the fact this is alpha software (so there may be 10-15 E/KLOC).
My understanding of the legality of reverse engineering of code is based on US law that could be overturned by a future ruling or other legal changes or itself may be misunderstanding on my part (as my knowledge of that particular part of copyright is partially based on sources that may be of questionable validity).