TASEmulators / TASEmulators/BizHawk

All the Stragglers from the PSP core.

Open
#4,642 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Core: PPSSPP Repro: Affects 2.11.1 dev
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

So now that [Core Port Req.] PPSSPP - PlayStation Portable is complete we can list out all the outstanding things... again.

tl;dr version:

  • Preserve NVRAM
  • GameDB
  • RAM Watch
  • CHD support.
  • When an ISO and CSO are present in the same folder, Hawk will complain about the other file. This previously wasn't the case.

Things that are explained below:

  • Font shenanigans
    • Font that's being called from PPSSPP isn't correct to how PPSSPP presents it, most notably the Trademark Symbol is absent.
    • Font replacement isn't being done in titles such as Crimson Room: Reverse and Ghost in the Shell so font displays as blank.
  • Certain titles are rendering for a single frame green and black vertical bars (Namco Museum Battle Collection demonstrates this quickly).
  • Certain titles are showcasing incorrect graphics, solve why this is happens. This appears in Ridge Racer.
  • Certain titles have broken models, solve why this is happens. This appears in Tekken: Dark Resurrection.
  • Implement the Hardware Renderer as a fallback (Software renderer bug has been fixed in Upstream).
  • Unplayable
  • Crashing:
    • Find out why some games crash during gameplay Exit (fails to play mission) and Dragon's Lair (fails to enter game).
    • Mercury Meltdown (fails to load first FMV) and Assassin's Creed: Bloodlines are both unable to get into a boot.
  • Find out why certain movies desync when creating a TASProject (see Tekken 6).
  • Persistent Save File when making a TAS within TAStudio (this is also an issue with the 3DS core).
    • This extends to general usage as well, as savestates lose save information.

Font Shenanigans:
In terms of new issues (by the autobuilds here). Using f1a8d12.
The major one besies the wrong font is being called compared to PPSSPP for some reason.
Is that the "™" is missing from "Memory Stick™":
image

Compared to PPSSPP:
image

And according to KAGE-008 at the very least this font issue affects Ghost in the Shell, Assassin's Creed Bloodlines, Crimson Room: Reverse, Jeanne D'Arc and Dissidia.

I was able to validate this missing text issue with Crimson Room: Reverse.
image


Single Green and Black Bar Frames:
There's this issue which you can only avoid by going with frame advance. For some reason in certain titles like Namco Museum Battle Collection or The Basics the emulator will flash green for a frame. This isn't present in PPSSPP.
greenflash
eien is using the Software Renderer.


Broken Textures:
Ridge Racer has graphical glitches.
The level is Sunset Drive, and pay attention to the scenery here on BizHawk:
image

And here on PPSSPP:
image


Broken Models:
And now the second one, we have model glitches, which reminds me of older PPSSPP which used to struggle with Tekken: Dark Resurrection.

To make it obvious and to the point I chose Jack-5 because damn he's big and it's so obvious on him.

Here's the error in BizHawk:
Tekken_-_Dark_Resurrection_USA_EnFrDeEsIt 2025-09-11_16 28 27

And here's PPSSPP being fine with it:
ULUS10139_00000
(Yes there's two Tekken games on PSP. This one doesn't seem to have the desync issues which makes it more interesting/annoying.)


Implement the Hardware Renderer as a fallback (Fixed in Upstream).
Made this an upstream issue, but on the off chance there's stragglers.
Update: There are stragglers.

BOTH THESE TITLES HAVE BEEN FIXED IN UPSTREAM. HAWK NEEDS TO BE UPDATED.

Because this issue stems from PPSSPP this is more of an argument to have to at least have the Hardware Renderer exposed as a fallback if/when necessary.
Screenshot comes from PPSSPP and not BizHawk (you can tell cause the font is rendering after stating that it's bugged), but the issue still applies for BizHawk.

What's happening:
Image

What should be happening (Hardware Renderer):
Image

Another title where this issue stems from PPSSPP justifying for use of implementing the Hardware Renderer as fallback is Disney Pixar's Cars.
After completing or exiting a race and returning to the menu, the menu will outright bug and incorrectly as seen below.
This only occurs in the Software Renderer for PPSSPP and which is what Hawk is using.

Image

Unplayable Game:
So Super Danganronpa 2 - Sayonara Zetsubou Gakuen after exiting the first area and then going anywhere else characters break, and disappear they are not selectable.

Image

Pressing Triangle in the game shows who you can talk to or what you can interact with.

Using PPSSPP.
This is the same area where I'm able to highlight (and select) Byakuya back there with the cursor next to him (compared to directly on top of him as I was doing in Hawk).
Image


Crashing Games:

BizHawk freezes in this instance, and the only logical reasoning is the missing text, but as we established games still work... right?

Exit (USA/Europe) locks up failing to display the tutorial text, as what's below is what we should be getting.
Exit (USA/Europe)

Exit (Japan/Korea) locks up just before that... displaying the level text instead, again this is what we should be getting.
Exit (Japan/Korea)

But what I gathered from an RTA run from 5 years ago. Is that this shouldn't prevent the game from running.
Exit (USA/Europe)
Exit (Japan/Korea)
This is PPSSPP v1.8 (2019), which is able to deal with it-- with a different font, but it's able to deal with it.

Theoretically, Hawk shouldn't have this issue. But it unexpectedly locks up instead.
image

Another title with a similar issue is Dragon's Lair.
Starting a game in Arcade/Home or "Watch Mode" won't enter the game.
The Attract Mode works, if that's any interest. Anyways, frame before the failure:
Image

You also can not blind menu out of the game back into menu.

Next is Mercury Meltdown (USA/Europe).
This game refuses to boot, and the only thing that this can possibly be is Hawk failing to load the intro FMVs somehow.
image
This is well below the "large filesize" issue, so the only answer this points to is again, it failing to load the very first FMV.

Another title is Assassin's Creed: Bloodlines this title was previously working according to KAGE-008 but as of late it has been unable to get past the Assassin's Sigil (first load),


Unknown Desyncs:
To clarify out of the gate that this TAS exists only due to the fact that I didn't clear Greenzone after spotting this issue very early.
Now previously on an older builder (can't find atm for some reason) we had a form of the consistency, in the inconsistency, to explain I will use the original text I was going to have here and then pivot into what it's devolved to.

Do note that the tasproj file referred to is lost, and is technically not required as things have gotten worse (which I'll get into).

Spikestuff - 17th August

Now here's an interesting one where I'm going to provide the tasproj to, and inform that converting this as a bk2, or playing it without the piano roll, will cause a desync.
So the game is Tekken 6 (USA), what was meant to happen is that Yoshimitsu is meant to take on Devil Jin first. Ok, we agree here right? Ok, we're all wrong.
When the Greenzone is cleared, the first fight is actually Kazuya... most of the time. You can still somehow generate a different character like Nina, or Armor King, or Bryan.

So what about the bk2 (or played without piano roll)? After all I did mention it will cause a desync.
bk2 doesn't even get into the character select screen. So there isn't a consistent way of knowing who you're facing first, and there kinda doesn't seem like there's logic to this.

As for creating from a bk2, at face value, there doesn't seem to be an issue here.

At least back then, we had a form of consistency where we were able to consistently get Kazuya as our first opponent to fight after clearing Greenzone, and doing everything that could be done. It was Kazuya no matter what. The bk2 failed, it will get to the main menu with the wrong character and get stuck there, whatever no big deal compared to what is going to be mentioned.

Since then I have a new tasproj file that I'm providing which is using the latest build at the time of writing. Like the previous one before it, it mentions within the Markers what steps are being done and the Greenzone has been removed.

However, compared to the previous one's Markers I am unable to tell you who the first fight is against, cause it's wildly inconsistent when Greenzone is cleared, the bright news is bk2 syncs with the exact same issue.

When Yoshimitsu is selected. I am getting every valid character in the Tekken roster as Yoshi's opponent.
What I originally wrote on the 17th of August is gone. This threw it all out the window. There is absolutely no logic.

It is now extremely inconsistent and you cannot make a TAS with this anymore from start to end with a cleared Greenzone tasproj file (cause remember as outlined in the original comment bk2 failed outright, comparatively to where it works to a point now).

I am going to handwave mention that this was also something I brought up about an earlier build when going from TASproject to BK2 but that issue seems to be mostly resolved from what I remember after the fact, just that Tekken 6 is for some reason more demanding. I will still provide that lil explanation since it showed how to resolve it at the very least for its case.

Oddity: Much like with encore there is a first boot desync type thing going on when going TAStudio -> bk2.
When I did stumble on this, all I had to do was add a frame that corrected it.
This uses Namco Museum Battle Collection (USA) as the test game.
The fail file was the fresh experience of it so what's typical to stumble on.
The "fix" made a frame adjustment after stumbling into this oddity.
NMBC.zip


There's also discussions that occurs on the TASVideos Discord for quick responses from those that have been there since the beginning of this core's implementation and another discussion over on the TASVideos forums about the core.
This issue request still grabs the of everything we already know, and explains all problems that we're aware of.

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

This issue combines many independent PSP-core problems, including font rendering, graphics, crashes, game compatibility, save-state persistence, and TAS desyncs. Start by choosing one named reproduction case, such as Ridge Racer or Tekken 6, and reproduce it against the current build; completion would require an isolated fix and verification for that case rather than the whole checklist.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
game-dev, tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.