diff --git a/Roadmap.md b/Roadmap.md index 9df861d..529820b 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -1,7 +1,18 @@ This is a non-exhaustive list of current goals made possible with the support of our generous [patrons](https://www.patreon.com/Nekotekina). -## Short term goals -* Parse .eh_frame section in PPU analyser and use this information in LLVM recompiler. +## August 2017 +* Add "Clear LLVM cache" function. +* Fix log appearance at RPCS3 startup. (Nekotekina) +* Improve fatal error dialog. (Nekotekina) +* Implement sys_net syscalls. (Nekotekina) +* Implement remaining syscalls for liblv2. (Nekotekina) + +## September 2017 +* Rebuild LLVM cache for the firmware after its installation. (Nekotekina) +* Fix parent of root in VFS. (Nekotekina) +* Remove obstacles for ASLR support. (Nekotekina) +* Improve PPU LLVM recompiler compatibility and speed. (Nekotekina) +* Begin SPU LLVM. (Nekotekina) ## Medium term goals * Properly support some PS3 features like MSAA that are lacking at the moment. @@ -13,7 +24,6 @@ This is a non-exhaustive list of current goals made possible with the support of * Improve LLVM flexibility. For example, it could scan game folder for all executables and SPRX modules and recompile them ahead of time. * Implement PPU executable chain-loading. * Improve solution structure, move and rename some files. -* Improve SPRX loading and unloading. This increases compatibility a lot. * Implement missing syscalls. Allow to LLE more system modules. * Write automatic tests to minimize bugs. * Implement savedata manager. Currently it doesn't have user interface. @@ -23,6 +33,7 @@ This is a non-exhaustive list of current goals made possible with the support of ## Long term goals * Enable higher rendering resolution to play games at any resolution, for example 4k instead of 720p in Demon’s Souls or Persona 5. * Enable extra graphics options to support extra rendering features, such as custom anti-aliasing modes. +* Build PPU/SPU interpreters at runtime using LLVM. * Support booting from original game discs. * Implement user manager. * Support mic, camera, USB peripherals, etc. @@ -35,9 +46,10 @@ This is a non-exhaustive list of current goals made possible with the support of * Improve performance and compatibility of all renderers. ## For developers +* Parse .eh_frame section in PPU analyser and use this information in LLVM recompiler. * Implement MFC_DMA_TAG_CMD_STALL_NOTIFY_EVENT and other SPU events. * Return `error_code` from syscalls and functions to enable error reporting. * Improve embedded debugging tools (CPU, RSX, Kernel Explorer). * Implement simple thread pool (Thread.cpp) * Implement BPIP for synchronization primitives. -* Implement minimalistic YAML adaptor in "C++11" style which preserves map element order. \ No newline at end of file +* Cleanup the VS project files: reduce to two build types (Release and Debug), but both must use *Release* LLVM build. Debug build should include memory leak detection features. \ No newline at end of file