Coder Social home page Coder Social logo

sysray / psoff_public Goto Github PK

View Code? Open in Web Editor NEW
174.0 14.0 12.0 79.67 MB

Playstation 4 Emulator for Windows

License: GNU General Public License v3.0

CMake 1.30% C++ 45.99% C 52.61% HTML 0.01% Assembly 0.08%
emulation playstation-4 ps4 vulkan

psoff_public's Introduction

psOff - PlayStation 4 Emulation (Windows)

In development. Does it run ...? No!

Runtime and rendering part is private currently. Target is to have a standalone framework for shader reconstruction, command buffer translation and managing the GPU memory, for others to use. This project uses it to run "Linux" binaries on windows.

tombRaiderRemaster sonic blackhole

Description

Yet another compatibility layer! I solely focused on the rendering part and recently started to implement the system functions to run some binaries.

It renders decently fast, the planned changes will make it almost perfect. Had to reverse engineer and try out a lot, before.

It currently doesn't support:

  • multiple command buffer submits
  • for loops in shader
  • missing opcodes
  • missing symbols

Iโ€™m happy for any help. Just hop in, system part isn't complicated.
I don't serve spaghetti only bugs.

Getting Started

wiki: Building psoff

Dependencies

  • Vulkan SDK 1.3.268.0, minimum
  • Up to date graphic drivers

(May add the Vulkan libs in Future Releases, if needed.)

For development:

  • Ninja
  • CMake 3.24+
  • Visual Studio 2022, it's just for the build environment (uses clang-cl,c++20)
  • Windows SDK 10.0.22621.0 or newer

Installing

For testing, just download the latest release and install the Vulkan SDK.

Executing a program

.\emulator.exe --h
.\emulator.exe --file="C:/****/eboot.bin"

If no --root is defined, it uses the folder from --file
For testing/benchmark, use --vsync=0

Update (app1): --update

.\emulator.exe --file="C:/****/eboot.bin" --update="C:/FolderWithUpdate"

It expects the undecrypted Target to be in the following format:

sce_module
sce_sys
eboot.bin

Try out input_ps4 to see if the emulator and your controller work correctly

Development

Use boosts thread, mutex and conditions. The waits have to be alertable in order to receive fake signals from "kernel".

Project uses p7 for tracing -> Baical server.

  • modules: the ps4 libraries
  • core: kernel, memory etc.
  • emulator.exe: (From Releases) contains the runtime and rendering

I'm using vscode, '.vscode\tasks.json' contains the config & build tasks.

psoff_public's People

Contributors

gamingducking avatar igor725 avatar sysray avatar vkokielov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

psoff_public's Issues

working on gui

Hello,
I am currently working on a gui.
I have a question about audio:
what are the values for device?
what value for volume? (from to)
attached pictures of the project.
I am still at the beginning
Greetings
general
logging
Main
settings

Black screen with audio on Nvidia GPU

in the previous release the emulator opens a window and closes immediately on nvidia, it didn't work, but now in beta 0.3 it opens a black screen with audio, runs sonic with good audio no stutter but no graphics, it's a black screen.
munmap unknown 0x4a770000 0x00010000

bandicam.2024-03-15.10-47-31-676.mp4

Is it based on Kyty?

I am just wondering if is it based on Kyty or completely something else? (because It reminded me of Kyty based on the screenshots)

Next Features| v.0.4-beta

Features/Bugfixes

Tracking the changes on the current feature branch. Check out Actions for the newest libs.

  • #16
  • Window is to big, scaled up. (Needs new emulator.exe)
  • Config files
  • Allow specifying logging endpoint
  • --update for mountpoint /app1/
  • Sonic wants to be blue again
  • redirect logs to file
  • blackhole runs again

More symbols, better controller support

Next Features| v.0.5-beta

  • better NVIDIA compatibility
  • Shader: Support for for-loops
  • Move runtime and main.cpp to public
  • "We are doomed"
  • libSceNgs2

Missing symbol

Hi,

I tried to lauch Quake (CUSA 24593) but there is a problem with the symbol:

Selected GPU:AMD Radeon(TM) Graphics api:1.3
0x1400186e8
0x140015402
0x14000e161
0x20031ebd in libc.prx
Missing Symbol| Name:-o5uEDpN+oY#A#B Lib:libkernel(ver:1) Mod:libkernel(major:1 minor:1)

And then crash

Impossible to close emulator.exe windows

Hi,

When I launch a game like Sonic Mania, it work.
But when I want to close it (to close the windows) it doesn't work and stay like this. I need to use the task manager to force it to close :/

Thanks you

Starting script

It's basic, but idk, maybe we can use something like this to start :)

Tell more or close it :)

@echo off

REM Put the file path of your games without quotes
set game_path=HERE

REM Verify if game_path is defined
if "%game_path%"=="HERE" (
	echo/
    echo Please set the file path of your games without quotes in the script.
	echo/
	echo Open start.bat and modify line 4 "HERE"
	echo Save the file and start this script again
	echo/
    pause
    exit /b
)

REM Welcome message
echo Welcome to PSOff!
echo/
echo/
echo Please enter the name of the game folder you want to start.
echo/
echo/

:ASK_FOLDER
set /p folder="Game name (Folder): "

REM Verify if the folder exists
if exist "%game_path%\%folder%" (
    echo Starting PSOff with the game name "%folder%" ...
    timeout /t 2 > nul
    start "" ".\emulator.exe" --file="%game_path%\%folder%\eboot.bin"
) else (
    echo The folder "%folder%" was not found at "%game_path%\%folder%".
    goto ASK_FOLDER
)

:WAIT_EMULATOR
REM Wait until "emulator.exe" is closed
timeout /t 2 /nobreak > nul
tasklist /FI "IMAGENAME eq emulator.exe" 2>NUL | find /I /N "emulator.exe" >NUL
if "%ERRORLEVEL%"=="0" goto WAIT_EMULATOR

goto ASK_FOLDER

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.