What's new

Surreal64CE - Nintendo64 Emulation on Xbox1

weinerschnitzel

Surreal64 Nut
Surreal64 is a Nintendo64 emulator for Xbox1 ported by oDD and Lantus. It has been picked up by a few hands over the years, and the project I dabble with is Surreal64CE. (CE = Community Edition)

Source code:
svn://svn.code.sf.net/p/surreal64ce/svn/trunk

In a nutshell, Surreal64 is an emulator comprised of three existing emulators: 1964, Project64 and UltraHLE. With the exception of UltraHLE, Surreal64 statically links each core with the other plugins of Zilmar's plugin spec. Other than that, each core uses virtual memory to cache larger ROMs with the Xbox1's limited available memory, the Windows specific code is removed, some headers are changed, and the file read/writes are changed to work with the Xbox1.

The plugins use SDL, DirectSound, or DirectX8. There are some minor differences in Xbox DirectX which limit software vertex handling, but it does have programmable shaders!

I have some final goals of this project, but I work on them at a slow rate. It's a hobby, not a priority.

Here is what I would like to get done, in no particular order:

-Porting Project64 1.6 and updating the existing core - Done.

-Overhauling RiceVideo - Success! Plugin is now essentially 5.60 with code additions and structure from deathdroid's repository.

-Daedalus Audio Plugin. Based on Azimer's HLE audio, this plugin has some other logic controlling the sound buffer, and could offer an increase in speed. Needs some DirectSound changes.

-1964 1.1 - It's ported, however there are TLB misses. and TLB hasn't changed between 0.8.5 and 1.1.

-HLE RSP updates - Quite tasty, thanks bobby.smiles32!

-Portable GUI replacement

New emulator cores:

-Mupen64(Plus) - I've been looking at Ari64's recompiler for Mupen64Plus 1.5 but I would need to find a VC7 replacement for mmap(). The other dynarec should work right away, and a front end component needs to be written as an entry point.

-UltraHLE 2064 - If it's still out there, I want to port it. Very badly. We still use UltraHLE for playing GoldenEye at fullspeed, but at the same time, there are some random crashes commonly witnessed in multiplayer. Having a more recent core with plugin support would really be our best chance at getting past those issues.

-DaedalusX64 - OS_HLE looks interesting among other things, but quite frankly, there are too many visual studio 2005isms for my patience. UHLE 2064 would take a much higher priority.

Lots of people have been very helpful here, I do appreciate it a lot. I'll litter this thread with updates or info on the project from now on. :p
 
Last edited:

Top