Not too long ago, I caught wind of the fact that parts of FreeDO’s code went open source. I decided to look into what I could piece together with what was uploaded. I was delighted to find that the provided FreeDO source code is fairly complete!
For the last couple of weeks I’ve been working on testing the code out and ensuring I can hook up to it. The odyssey involved uncovering each feature in a venerable, working state: video, audio, disc access, etc. I am very happy indeed! I am also grateful for the FreeDO developers’ choice in going open source.
At the moment I have only controls to flesh out in order to know that the FreeDO code is working well on it’s own. I don’t expect that will take terribly long, so I have enough confidence to say that FourDO is capable of undergoing a revival.
The key difference time time around is that I will no longer be attempting the high-level approach. To clarify, FourDO is being revived as simply a low-level emulator. Also, to give credit where it’s due, the core of the emulation is powered by FreeDO’s code. FourDO is primarily just a user interface around it.
Since I’ve had to make a few changes to the FreeDO code, the FourDO project includes its own copy of it. I don’t know if any FreeDO development is going to continue, so I’m not particularly worried about branching in this fashion.
I have been using C# for the front-end. This speeds development time considerably, and I’ve been wary of introducing bloated bottlenecks as a result of utilizing the high-level language. So far I have been impressed with the minimal overhead it introduces.
I hope to help breathe a little life into the 3DO emulation scene. With any luck I can have FourDO up to snuff and provide a good framework to support bug fixes or additions to the core that will flesh out the game compatibility.