PlayStation 4 emulator for Windows, Linux and macOS written in C++
Go to file
Stefanos Kornilios Mitsis Poiitidis afe8ee173e virt: WIP with zydis and xbyak
WIP: somewhat of a context pointer

WIP: Gets to a first ret, not sure if of a HLE function or not

WIP: preserve registers across calls, don't use refs for rip

WIP: Runs more stuff, gets to fist ymm usage now

WIP: more branching, ymms

WIP: fickup trampoline stack args

WIP: Add support for call [reg + (disp)]

WIP: Fix jmp handling

WIP: Merge call/jmp handling

WIP: Fixup stack setup

WIP: ƒ–PS4_SYSV_ABI in all possible trampolines

WIP: move abi push/pop to helpers, preserve rbx

WIP: Add back original loader to provide as an option
2023-10-31 16:05:40 +02:00
.github moved broken linux workflow 2023-08-08 22:27:30 +03:00
documents updated changelog for v0.0.2 2023-10-21 21:45:49 +03:00
scripts Add auto stubs, static init 2023-10-11 11:50:02 +03:00
src virt: WIP with zydis and xbyak 2023-10-31 16:05:40 +02:00
third-party virt: WIP with zydis and xbyak 2023-10-31 16:05:40 +02:00
.clang-format Add clang-format 2023-07-07 14:07:34 +03:00
.gitignore Update .gitignore 2023-07-18 19:28:19 +03:00
.gitmodules virt: WIP with zydis and xbyak 2023-10-31 16:05:40 +02:00
CMakeLists.txt refactoring system service 2023-10-31 14:04:35 +02:00
CMakeSettings.json added clang configurations , removed buggy MSVC ones 2023-07-21 14:53:19 +03:00
LICENSE Initial commit 2022-10-24 12:48:38 +03:00
README.md Update README.md 2023-10-27 09:45:15 +03:00

shadPS4

An early PS4 emulator for Windows and Linux written in C++ by shadow , skmp , wheremyfoodat , GPUCode

Check us on twitter

Status

Early progress , a small amount of ps4 sdk demos and homebrew games working

Elf Loader

Logging system

Everything else

Why?

The project started as a fun project. Due to short free time, it will probably take a while since it will be able to run something decent, but I am trying to do regular small commits.

Build

Windows

Check building instructions in windows build

Linux

Check building instructions in linux build

Build status

Platform Build status
Windows build Windows

To discuss the development of this emulator, please join our Discord server: Discord

Who are you?

Old emulator fans and devs can recognize me as "shadow". I was the founder and coder for a lot of emulation projects:

  • PCSX
  • PCSX2
  • PCSP
  • JPCSP
  • arcadeflex
  • rpcs3 contributor

Contribution

I currently accept any contribution, here is a list of some items that may be useful:

  • PKG extractor (there was initial work on this, search project history commits).
  • Initial GUI with imgui, SDL3 and Vulkan.
  • to be filled...

Documentation

Wiki has some documentation for PS4 PKG format

PKG PS4 File Format

Sister Projects

  • Panda3DS: An multiplatform 3DS emulator from our co-author wheremyfoodat
  • hydra: An multisystem , multiplatform emulator (chip-8,GB,NES,N64) from Paris