Across the goal line
4DO is no longer titled as “beta”. The emulation is in a good state, and the primary features of the emulator have been stable for quite a while.
It’s been a overall a quick revival since the release of the FreeDO source code, and 4DO now provides 3DO fans with a clean, functional emulator.
4DO was able to inherit many great features from FreeDO: high-definition rendering, clock speed adjustments, and the impressive emulation accuracy! The FreeDO user interface was not open-sourced, but the resulting rewrite for 4DO was an overall benefit. The development of 4DO has introduced several unique features as well:
- Intuitive controller setup, native joystick support, and support for up to 6 players
- Game identification system
- Easy-to-use quick save/load system
- Game compatibility fixes (mainly through the efforts of Viktor!)
- Support for 6 languages
An Abbreviated 4DO History
It’s probably not commonly known that 4DO was first started about 4 and a half years ago in 2007. I had been eager to see an open-source 3DO emulator and was disappointed that there was still none available. The aim of the project was still the same as it is today: to provide a full-featured, open-source emulator for 3DO.
At the time I was attempting a high-level emulation (HLE) approach. Progress was reasonable, and I managed to get the CPU emulation concrete enough to run many of the non-Opera binary files like the mildly famous sonic example (the screenshots of this are still available on the sourceforce site, for any emulation historians interested). However, the HLE approach was proving to be too laborious without additional help. After staring at disassembly for countless hours, I cancelled the attempt in early 2010.
Note: For those interested, the Russian “Phoenix” project is also attempting HLE emulation and results so far are impressive! I believe it is in closed beta, and be aware that there are fake versions of this emulator out in the wild.
Later the same year (November 2010), FreeDO released the code to its core emulation as open source! I found out about this in July of 2011, started rebuilding the user interface, and restarted 4DO with the FreeDO core. At this time, 4DO became a low-level emulator like its ancestor. Since then 4DO has crept along introducing features up to the ones you see today!
Elsewhere in the world, and also sometime after the FreeDO source code was released, Viktor created 3DOPlay with similar hopes of improving 3DO emulation. We discovered each others’ projects about a month ago. Since then, Viktor has been contributing help, and his efforts have been improving game compatibility significantly!
The Future of 4DO
I do not have particularly strong opinions of the features or changes that should be introduced into 4DO. There are a few things I would like to see added: light gun or mouse support, screenshot support, and save slot visualizations (like in NESticle).
With 4DO released, I personally am going to cut back on my involvement, and I have no expectation for how long. I am very happy to have helped the 3DO emulation and I feel that 4DO has accomplished its primary objective of providing a full-featured open-source emulator. I don’t intend to halt 4DO development; I’m still available for bug fixes to any major issues, and I intend to continue to perform any releases. I am hoping Viktor is available to continue help as well. I’ll likely be playing 3DO games too, so I can continue to add features when the desire hits me.
I would like to reiterate that anybody interested in contributing code changes to 4DO is welcome to do so! If you message me in the forums, I will be happy to help you get started.
If you aren’t interested in helping out as a developer, there’s always value in contributing updates to the Compatibility List.
Thank You For Your Help!
3DO emulation would be in poor shape today if it weren’t for the feedback and interest from the sparse, world-wide community of 3DO fans. I’d like to thank everyone who helped identify problems, iron out issues, or just drop by for moral support!
I’d like to also thank the following contributors:
- BryWI : for feedback, community support, and lots of testing!
- Enio Marconcini : for Portuguese translations
- Benjamin Siskoo : for French translations
- “money” : for Chinese translations
- Antonio “Bloodbat” Ramirez : for Spanish translations
- Sedabi : for Russian translation improvements
Long live 3DO!