I've decided to move the relevant news posts to a new site with a simple wordpress interface: http://www.fourdo.com
I intend to continue hosting the releases and the code. However, I don't intend to make new news or release posts here. I find sourceforge a tad clunky for this.
I've uploaded 4DO 184.108.40.206!
* CD-Rom support - Play straight from CD!
* I added a "File -> Close" option to close whatever is currently open.
* The option to "load state" on startup has changed into an option to "load state" whenever a game loads. For example, if you open a different game while 4DO is open, it'll do an automatic "load state" for that game.
* 4DO now remembers the directory that you last selected a CD image file from.
* I renamed some of the menu items to make their use more clear.... read more
Version 220.127.116.11 alpha includes:
* NVRAM support : Quite the lazy job on my part. It just saves to "NVRAM_SaveData.ram" in the same directory as 4DO.exe. This is non-configurable, but it works!
I believe XP 64-bit windows issues were primarily just the absence of the C++ runtimes. So, as far as development for 4DO goes, the next item would be playing from CD and/or supporting other formats.
In other news, I've been attempting to touch base with any remainders of the FreeDO development team. There are several versions of FreeDO that were never "officially" released. These versions have noticeable improvements (mainly graphics) in the core that I would like to make use of. It seems like a waste to have two 3DO emulators developed simultaneously when there is such little development going on at all. I'm unsure if this will mean me merging into what's left of the FreeDO development effort, or if it means them merging into 4DO, or if it means that my diplomatic efforts fail and I'm just given the finger and told to mind my own business. I'm pretty certain that it will affect what happens with 4DO in the future.
I have seen a few reports of 4DO crashing on startup. This is typically due to missing prerequisites. At the moment, they are:
* Microsoft Visual C++ 2010 Runtimes http://www.microsoft.com/download/en/details.aspx?id=5555
* Microsoft .NET 4 Framework http://www.microsoft.com/download/en/details.aspx?id=17718
If 4DO at some point has an installer, it will of course make sense to roll those in. During these alpha and beta stages, though, I most likely will continue just releasing the raw binaries.
My next set of tasks includes:
* Fix WindowsXP.
* Fix 64 bit.
* Save/Load NVRAM. (the 3DO save data)
After that, I intend to add:
* Play from CD.
* USB gamepad support.
* Fixed/Improve Audio support. (less garbles and echos)
More will probably be tacked onto those. If I get these features in, I will start some attempts at to resolving game compatibility issues. To set expectations, this will be very difficult to accomplish!
I've just uploaded 4DO 18.104.22.168! In this version, I sought out to flesh out some of the basic UI features the emulator needs. I have added the following:
* Full screen mode - I'm still using winforms to blit images, so this is merely windowed fullscreen mode, but it's performing rather well.
* Window resize snapping - The window resizes to 50% original screen width intervals. For example, you could resize the form to 350% by 200%. I vainly added it because I've always preferred emulators with this feature. This setting can optionally be disabled by the user.... read more
I got the controls figured out tonight, and also resolved a speed issue. It's in a pretty presentable state, so I'm marking the occasion by packaging up version 22.214.171.124!
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.... read more
I've decided it's time to cancel the FourDO project. This will be bad news for the eager few who awaited some progress. FourDO is available for adoption, of course. Anybody genuinely interested in taking this project over should contact me.
In my opinion, a full-fledged 3DO emulator would be completed by using the source code for the 3DO operating system. It exists somewhere on the internet in the hands of very few people. A couple years ago, I had asked a couple people who supposedly have a copy, but I didn't get one and didn't want to pressure anyone. From what I understand it's illegal to own even though the 3DO company is defunct.... read more
The last several months have been mainly R&D. My skills with IDA are slowly maturing! Although this milestone means little to anybody but myself, I've finally found the origin and use of SWI 0x10 which has eluded me for so long.
Also, Blake, another 3DO fan, has offered to help with the project. Since I'm the main bottleneck on the basic emulation functionality, it's most likely that he'll put together a simple website, and hopefully be able to make releases for us.
As a result of considerable help from Altmer, Mobius, and Hankystyles, FourDO has completed it's first run of a simple 3DO program. Unfortunately this example took 90 seconds to run on my machine, which is considerable even though this was in debug mode. I'll pretty clearly have to rework the code to be more efficient once I have the functionality ironed out and tested.
I've switched jobs and back in action. I'm attempting to learn to use the 3DO SDK on the Basilisk II Macintosh emulator. I've uploaded a screenshot of this for no particular reason.
As always, if you're interested in helping in any way (R&D, development, hardware), please contact me!
My intense deadline at work has come and gone, and I'm slowly reaquiring my hobbies. I intend to revive the efforts on FourDO this summer, hopefully with the combined support of those that were helping previously. My goal is to be up and running again by July.
If you're looking to do for some challenging reverse engineering and R&D, please contact me. I'll be happy to get you up to speed.
I'll be unable to donate my time on this project for a while (mainly because of some work-related issues). I'll have to assume that I'm going to be unavailable through May of this year. Considering how these projects typically go, naturally I worry that this may be the end of my involvement. Also, I'm assuming that our other main developer (hankystyles) is uninterested as a result.
I'm pleased with the direction of the project so far. Because of the choice of C++ and wxWidgets, I feel that all progress will have a considerably long shelf-life.... read more
I finally got wxWidgets to work with Visual Studio C++ Express (2005), and checked in my changes. Sadly, as a result, the code is no longer completely dependent of outside influence. Anybody who wants to compile the current code will need to download wxWidgets and perform the painstaking steps to set up the environment variables and so on. On the plus side, I don't intend for this to be the final solution, but probably the solution until I'm no longer the only one working on the interface.
I purchased fourdo.com, although the site is still empty.
Admin from FreeDO has gotten in touch with me. He is setting up 3do-scene.com, and is willing to provide me with webspace there. I believe the goal of admin's site is to document the behavior of the 3do hardware to those interested. This will be incredibly useful to the efforts of the 4do project. Admin has already supplied me with a mapping of the intended behavior of each of the software interrupts, which saves the 4do effort many hours of manual reverse-engineering! Much effort is still left to be done that will require meticulous efforts to get the finer details of the 3DO OS identified. Work is much easier to delegate at this point.... read more
This news journal is mainly only of interest to myself at the moment, so I'll congratulate myself on the progress on the ARM60 this weekend. Good work Johnny and happy Thanksgiving.
If someone who is an eager web developer has happened upon this news post, please let me know if you're interested in throwing together a quick 4DO site for us. The menu behavior of the SourceForge site seems to lag the browser on loading, and it would be nice to provide a nicer wrapper to the forums if this project grows in popularity.
SVN Respository was created today. I've uploaded the only code written so far (ARM60). As I'm used to at work, "trunk" signifies latest version, "branches" will only be used if multiple versions are made.
I'm glad to have a SourceForge page available. Recruitment is still a priority, however there will probably be a week until we can start dividing up coding responsibility. In the meantime I'll get the CVS repository organized, and get an ARM60 emulator completed. So far all projected development is in C/C++ (I personally am using MSVC++6.0 SP6).