TASEmulators / TASEmulators/BizHawk

[Core Port Req.] PCSX2 - PlayStation 2

Open
#3,318 17 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Request: New core/port/re-port
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

Upstream info
Merits

PlayStation 2 is probably the one with the largest backlog, and the most potential for people to make runs and submit them.
It's insanely vary and I know that RTA runners of certain titles want to get in TASing a PS2 title, due to recent advancements upstream has improved, but it's not quite there yet (unable to TAS with a Memory Card in or from Full Boot. Some titles fail in TASing), the TAS fork is stable enough by comparison (however the amount of games that are playable does reduce as it's a much older build).

Technical details

Now for the updated annoying part (Updated 22nd Sept. '23).
With the major improvements to the emulator it has also recieved an overhaul for rerecording-- it still desyncs^, so multiple files are still required to make a movie from start to end unfortunately.

^2024 Update: You are able to circumvent desyncs as long as you save before/after a load screen, similar logic to that of Dolphin. There's has been reports where it will desync under dumping, but that's also only when a turbo is applied.

In terms of Graphics emulation. Software mode is still the best option in terms of practically everything being functional graphically. However the options of Vulkan and OpenGL are still a nice-to-have in preferences due to their goodizers and they will still thankfully as of the latest update still sync movies between renderers.

Within the PCSX2 Settings.
Under "Emulation" and "System Settings", "Enable Multi-Threaded VU1 (MTVU)" and "Enable Instant VU1" are still reported as the best two options to have disabled.

Having Overscan and Screen Offsets would be an extreme nice to have for consistency with the NymaShock core as having the Overscan elements makes it more efficient and correct to render out to the 4:3 ratio as PlayStation 2 loves to be a multiresolution system like the previous system.

Anti-Blur and Disable Interlace Offset (NTSC only from what I can tell) might be helpful in the TASing process, and this cosmetic change still doesn't result in desyncs.

As for the Deinterlacing. The options provided which are; None (for Progressive titles), Weave (bff) and Bob (bff) would be preferable. Their newer mode Adaptive would be something neat for TASing.

The Emulator can be forced into a single-thread configuration tweaking some settings across like the two mentioned above.


Previous discussion re: PCSX2 port: #1601
This would supercede the WIP DobieStation core: #2250

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the previous PCSX2 discussion in #1601, the WIP DobieStation issue in #2250, and the linked PCSX2 source repository. Done means BizHawk has a reviewed PCSX2 core port that satisfies the issue's stated rerecording, synchronization, graphics, and settings requirements.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, csharp
Domain
desktop, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.