LuminarLight / pcsx2-sanity

PCSX2-Sanity - Emulator without the insanity

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PCSX2-Sanity

A modified build of PCSX2 that incorporates changes that would be rejected from the parent repository.

If you have any changes that you think would improve the emulator but would get rejected (or did already get rejected) from the parent repository, feel free to open a pull request, or contact the maintainer of pcsx2-sanity: LuminarLight

Current divergences from parent repository

  • Included 'Sanity' in the application's name at most places.
  • Reworked the auto-updater. It no longer relies on the PCSX2 website, instead it now relies only on GitHub. This gives us full independence.
  • Integrated memory-increasing changes from the 128MB Build of PCSX2, which means that we have 128MB EE memory now. This shouldn't impact games that don't use it. Official PCSX2 now has this feature, and it is even better.
  • If a 'DRIVERS\FIREWIRE.IRX' or a 'DISKINFO.BIN' file exists on the disc, then it will be treated as the main ELF for booting and CRC purposes. If neither are found, the old behaviour will be used (looking up 'SYSTEM.CNF' and getting ELF path from there). This had to be done because in Jak pre-release builds, the "official" ELF is just a loader for these files, and this loader is usually fully identical between different pre-release builds of the same Jak game, which means they also have same CRC, making patches and everything impossible. But the FIREWIRE.IRX and DISKINFO.BIN files are (almost always) unique, allowing us to uniquely identify these builds. A nice side-effect of booting these files directly is that we completely avoid the WIBU protection.
  • Assign serial code 'X' to ISOs where we treat FIREWIRE.IRX or DISKINFO.BIN as the main ELF. Because per-game settings for some reason don't work if the serial is empty.
  • GitHub releases for the project are no longer automatic. I think manual is better for a project like this.
  • Each release can now have a message that will appear for users in the auto updater window. The commit list will still be there as well.
  • Added a 'Enable TOOL Mode' toggle. Basically patch segregation. When a Jak game is booted in Debug Mode, the memory changes significantly. This means that patches made for the game running in normal mode corrupt the game when running in debug mode. When TOOL Mode is enabled, the emulator will auto-load patches with 'TOOL' label. It will also attempt to load patches with 'Widescreen 16:9 TOOL' and 'No-Interlacing TOOL' labels instead of their TOOL-less counterparts, but only if all other conditions are met (for example the setting that force-loads widescreen patches).
  • When you look at the patches of a game, normally it doesn't indicate whether a patch would get auto-loaded due to global settings or not. Now there is an indicator for this - if a patch will get loaded due to global settings, it will be highlighted in green in the list. This is especially useful if you want to have a clear picture when you are using the patch segregation features.
  • Imported and reworked the Jak Debug Mode patches from the 128MB Build (the author field was filled where it was determinable, otherwise it was left empty - please contact me if there are any mistakes in this), and also added some new ones. These will automatically load when TOOL Mode is enabled.

Plans/TODO:

  • Properly get the serial even if we use FIREWIRE.IRX or DISKINFO.BIN as main ELF for an ISO.
  • Prevent non-labelled patches. This is PCSX2-Sanity, we can expect our users to adapt their pnach files. In most cases they just have to add one line to the top of the file.
  • Merge the new extra memory setting with our TOOL Mode setting.

Notes for building and updating the project locally

https://github.com/PCSX2/pcsx2/wiki/12-Building-on-Windows

https://github.com/PCSX2/pcsx2-windows-dependencies/releases/

git submodule update --init --recursive

And here is the parent's README:

PCSX2

Windows Build Status Linux Build Status MacOS Build Status Codacy Badge Discord Server

PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.

Project Details

PCSX2 has been in development for more than 20 years. Past versions could only run a few public domain game demos, but newer versions can run most games at full speed, including popular titles such as Final Fantasy X and Devil May Cry 3. Visit the PCSX2 compatibility list to check the latest compatibility status of games (with more than 2500 titles tested).

Installers and binaries for both stable and nightly builds are available from our website.

System Requirements

PCSX2 supports Windows, Linux, and Mac platforms. Our setup documentation page contains additional details on software and hardware requirements.

Please note that a BIOS dump from a legitimately-owned PS2 console is required to use the emulator. For more information, visit this page.

Contributing / Building

PCSX2 supports translation into other languages using Crowdin.

See the Contributing Guidelines or visit the GitHub Wiki for more info on how to contribute.

About

PCSX2-Sanity - Emulator without the insanity

License:Other


Languages

Language:C++ 89.0%Language:C 3.7%Language:HTML 2.3%Language:GLSL 1.1%Language:Objective-C++ 1.0%Language:CMake 0.9%Language:HLSL 0.7%Language:Metal 0.6%Language:TeX 0.3%Language:Python 0.2%Language:Perl 0.1%Language:Batchfile 0.0%Language:JavaScript 0.0%Language:Shell 0.0%Language:Assembly 0.0%Language:CSS 0.0%