3dox - Xbox 360 New Years Day Pre-Release - V0.03
=================================================
Introduction
============
3dox - A 3DO emulator for your Xbox 360. Based on FreeDO/FourDO/3dox Xbox
About a year ago i became interested in porting FreeDO (the 3DO emulator) to the Xbox 360. It turns out that incrediclint had an Xbox 1 port of FreeDO/FourDO port up and running called 3dox. His source code in turn became the core code that I then used for the majority of my work.
incrediclint stopped working on his Xbox 1 port due to the fact that it would not run at a good framerate due to the limitations of Xbox 1 hardware.
The Xbox 360 port initally did not fare much better. Initially it would not run. The FreeDO codebase is not Big Endian friendly. I quickly got it working on big endian and found out that emulation performance was terrible. Averaging 20-25fps.
Generally speaking, the CEL engine code is the main cause for performance issues. I spent quite some time optimizing functions to be more PPC friendly it helped gain 10-15fps or so.
At that point i tried some multi-threading but nothing seemed to help. So i abandoned the project and tossed it in the "not to release pile" due to the fact that the performance was still not great (35-40ps on average)
Fast forward to December 2012 - I decided to take another look at the sourcecode and see if i can speed it up. Long story short, with a clear head and a fresh look at the code. The idea was to thread the DSP and CEL emulation. Some pain along the way but threading was implemented and working nicely- Now emulation is (generally) at 60fps.
So welcome the new year with a new emulator for the Xbox 360. Remember this is a pre-release :)
Features
========
- Fast 3DO emulation.
- Full graphics/sound support
- NVRam saving.
- Pixel Shader support.
- Big Endian friendly (PS3/Wii/Wii(U) port anyone?)
- Source code released.
Pre-Release Info/Issues
=======================
- 1p controller support only at this time.
- Sound has issues (scratchy/off pitch/generally pretty bad).
- Random pauses and stutters occur.
- Performance issues with some games.
- Savestates are not implemented.
- .ISO extension and .BIN extension are supported only
- The launcher will load games only. There are currently no other options.
- There are graphics issues. Wrong color palette at times. Theres still endian issues to address.
- Game specific timing fixes are not implemented.
- Pixel shaders are working but you cant select one. For now you need go into the shaders folder and rename/copy the shader you want to use and call it 'default.fx'. I've included CRT, HQ4x shaders to use.
Installation Notes
==================
- Place 3DO bios file inside bios folder. File MUST be called bios.rom
- Roms go in the Roms folder. Files must be .ISO or .BIN otherwise they wont work.
- Run 3doLauncher to start.
- Press 'A' to launch the rom. While in game - right thumbstick to quit back to launcher.
Controller Mapping
==================
Game Select Screen:
A: Launches the game.
In-Game:
B = A
A = B
B = C
Start = P
Back = X
Left Trigger = Left Button
Right Trigger = Right Button
DPad = DPad
Right Thumb Stick Click = Exit to launcher

and finally check out a WIP video of the emulator in action. The sound still needs work but you get an idea of how its running.

Need for Speed runs slow on 4DO also. It really uses a lot of the 3DO's power rendering all the scenery around the road. Some parts are ok, while other parts start to crawl.

I don't follow the xbox360 scene truthfully, but is it like how it was in the past with xbox that you really can't share the binary out in the open? Is there a place the source at least can always be found?