XaiJu
dobiestation
dobiestation

patreon


Status as of January 6, 2019

As the current description states, I'm working on the EE and VU recompilers. DobieStation has achieved an acceptable level of accuracy for its first release: it's also become difficult to find bugs in games partly because they take so long to execute. I already have the framework for the IR, x64 emitter, and code execution set up; all that remains is implementing the whole VU instruction set.

My first recompiler is for the VUs. The PS2 VUs are used for physics, AI, and lighting as well as generating 3D geometry. In tandem, they can execute billions of floating-point operations per second. In addition, various pipelines must be emulated for most games to function properly. Because of this, they have consistently been a larger bottleneck than any other component on DobieStation, so the VU recompiler will see the biggest gains in FPS by itself.

Both recompilers will support 64-bit. Because of how similar the instruction sets are between the EE and the VUs, I plan on using a single IR. Unfortunately, even IR-level optimizations will differ between the two recompilers, as the instruction sets are similar but totally incompatible. Nevertheless, the IR will make creating new recompilers easier for different architectures, such as AArch64 (used in 64-bit phones).

I estimate that the VU recompiler will be "production ready" in at most a month, although I'm hoping to be done with all the basic stuff sooner than that. After the recompilers are done, I will need to rewrite the timings in DobieStation to fix some regressions caused by optimization, add memory card support, and add custom keybindings/controller support. By that point, we'll be close to an official v0.1 release.


More Creators