PS4 compatibility layer (emulator) on Free Pascal
Go to file
Kagamma 3efe0912ec
sceAvPlayerStreamCount, sceAvPlayerJumpToTime, sceAvPlayerStart, sceAvPlayerPause, sceAvPlayerResume (#72)
* sceAvPlayerStreamCount, sceAvPlayerJumpToTime, sceAvPlayerStart, sceAvPlayerPause, sceAvPlayerResume

* Minor

* Minor

* Minor

* Unlock player

* Refactor, fix event callback

* More event callbacks

* Reverts some of the changes in previous 2 commits

* Minor

* Temp disable SCE_AVPLAYER_STATE_READY callback because it causes lock in certain games

* Forgotten release of playerState

* Take care of autoStart, adds removed callbacks back

* Fix autoStart, add log

* revert autoStart to not isPaused

* change to class and ne locking model

* sceAvPlayerGetStreamInfo

* sceAvPlayerEnableStream and sceAvPlayerDisableStream

* Refactor code

* +

Co-authored-by: Pavel <68122101+red-prig@users.noreply.github.com>
2023-01-25 19:08:48 +03:00
.github/workflows sceAvPlayerAddSourceEx and sceAvPlayerCurrentTime (#65) 2023-01-18 12:57:13 +03:00
chip Fix cross-compilation on Linux host (#67) 2023-01-21 16:58:38 +03:00
ffmpeg AvPlayer HLE (#58) 2023-01-17 16:32:47 +03:00
icons Updated the fpPS4 logo (#66) 2023-01-19 23:55:48 +03:00
kernel sceKernelGetModuleInfoInternal, sceKernelLoadStartModuleForSysmodule, sceSysmoduleLoadModuleByNameInternal 2023-01-25 00:26:54 +03:00
rtl + 2023-01-13 15:43:10 +03:00
shaders Precompile shaders 2022-12-01 13:43:54 +03:00
spirv Fix cross-compilation on Linux host (#67) 2023-01-21 16:58:38 +03:00
src sceAvPlayerStreamCount, sceAvPlayerJumpToTime, sceAvPlayerStart, sceAvPlayerPause, sceAvPlayerResume (#72) 2023-01-25 19:08:48 +03:00
static make libportaudio static 2022-05-31 10:14:57 +03:00
sys sys crt extended 2023-01-24 20:33:12 +03:00
third_party_gui Added fpPS4Fro 2022-12-23 11:54:50 +03:00
tools param_sfo_info 2022-12-21 13:33:40 +03:00
vulkan Fix cross-compilation on Linux host (#67) 2023-01-21 16:58:38 +03:00
.gitattributes Initial commit 2021-12-08 23:04:07 +03:00
.gitignore AvPlayer HLE (#58) 2023-01-17 16:32:47 +03:00
as_only.cmd Big update 2022-05-31 10:20:10 +03:00
as_shader_dump.cmd Big update 2022-05-31 10:20:10 +03:00
fpPS4.ico Updated the fpPS4 logo (#66) 2023-01-19 23:55:48 +03:00
fpPS4.lpi Fix cross-compilation on Linux host (#67) 2023-01-21 16:58:38 +03:00
fpPS4.lpr sys crt extended 2023-01-24 20:33:12 +03:00
fpPS4.res Updated the fpPS4 logo (#66) 2023-01-19 23:55:48 +03:00
LICENSE Initial commit 2021-12-08 23:04:07 +03:00
ps4_elf.pas Added envrion location accounting, identified the need to align the stack before starting Entry 2023-01-24 14:01:20 +03:00
ps4_program.pas sys crt extended 2023-01-24 20:33:12 +03:00
ps4libdoc.pas add names 2022-07-14 21:01:47 +03:00
README.md Fix typos and adjust some words (#51) 2023-01-04 20:39:03 +03:00
tag.inc Add CI 2022-06-29 14:35:37 +03:00

fpPS4 CI

Donate:

Book logo

PS4 compatibility layer (emulator) written with Free Pascal

This project is currently at the beginning and started for fun.

Building

  • Free Pascal compiler: 3.3.1 (use fpcupdeluxe with trunk), x86_64 only.
  • Lazarus: 2.0.0 and higher, x86_64 only.

Minimum system requirements

  • OS: Windows 7 SP1 x64 and higher
  • CPU: x64, AVX2 support
  • GPU: Vulkan API support

Game compatibility tracker

https://github.com/red-prig/fpps4-game-compatibility/issues

Control layout

To switch to borderless full screen mode, press Alt-Enter.

fpPS4 supports XInput-compatible gamepads natively. You can remap buttons by pressing Esc on the keyboard during emulation. Regardless, you can use a keyboard as a input. A DualShock4 touchpad is emulated by the mouse.

Keyboard layout:

PS4 Gamepad button Keyboard button
Left Stick Up W
Left Stick Left A
Left Stick Down S
Left Stick Right D
Right Stick Up I
Right Stick Left J
Right Stick Down K
Right Stick Right L
OPTIONS Enter
Dpad Up Arrow Up
Dpad Left Arrow Left
Dpad Down Arrow Down
Dpad Right Arrow Right
Triangle Numpad 8
Square Numpad 4
Cross Numpad 2
Circle Numpad 6
L1 Q
L2 1
L3 Z
R1 E
R2 4
R3 C