hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.1k stars 2.16k forks source link

Metal Slug Anthology - Metal Slug 6 Crashes and/or Freezes with critical deadbeef error (error appears sometimes and sometimes it doesn't, check picture) Also ONLY MS6 has "lower brightness" #14083

Open Omaerahmed123 opened 3 years ago

Omaerahmed123 commented 3 years ago

All the games work 100% from start to finish without any issue at all except Metal Slug 6

I'm using the iso of the game (not zip etc)

Sometimes it immediately crashes, sometimes it freezes, sometimes it freezes and gives an error (the pictures below), specifically only happens in Metal Gear Slug 6

The iso is the EUR version of the game (ULES00530) and I don't have any cheats enabled, and I don't even have the cheat button enabled. And I tested with both the cheat button turned on and off (the "Enable Cheat" button)

I restarted the laptop, updated drivers etc, got a fresh install of PPSSPP latest version (v1.11), ran PPSSPP as Admin and without admin (for testing)

What happens?

1) there is this black filter or something ONLY inside metal slug 6, it's like... The light is dimmed, the brightness is lowered.

2) When you start metal slug 6, in mission 1, you get to play for a little bit (specifically keep moving to the right in order to enter the 3rd "Area" of mission 1) and after a while (Either in the 2nd "area" of mission 1 or the moment you enter the 3rd "area") a crash occurs and it gives this error and everytime I press "Yes" it simply shows the exact same error again.

If I press "No", the program crashes and dies (as if it was closed through task manager), doesn't even lag or give me a not responding.

The third picture appeared when I turned off "ignore bad memory accesses, the game froze and I pressed "ESC" twice (to get into the menu then out of it) and then it appeared

IMG_20210208_143140

IMG_20210208_144923

IMG_20210208_150050

What should happen?

Well, it shouldn't crash at all

What hardware, operating system, and PPSSPP version? On desktop and mobile phone, GPU matters for graphical issues.

Windows 8.1 , PPSSPP v1.11 (and previously PPSSPP v1.10.3-1003) (both fresh extracted files from buildbot.orphis.net/PPSSPP/index.php)

I tested on both of these versions of PPSSPP

My laptop is old, has integrated GPU, and it uses an Intel CPU

My PPSSPP settings are as follows

Backend: Direct 3D 11 Device: Intel (R) HD Graphics Family Mode: Buffered Rendering Simulate Block Transfer Effects: ON Frame Skipping: OFF Post Processing Shader #1: OFF Rendering Resolution: Auto (1:1) VSync: OFF Render Duplicate Frames to 60Hz: ON (if it's OFF, the game freezes but doesn't show the error that's in the picture above) Hardware Transform: ON Software Skinning: ON

Everything under Software Skinning and is OFF, although I had tested with lazy texture caching, disable slower effects while they were on and it still crashed without showing an error)

Spline/Bender curves quality: Low

Texture scaling and texture filtering are all OFF/xBRZ/Nearest/Nearest

Lower resolution for effects: OFF

Networking - Enable networking/wlan: OFF (Everything in it is OFF, haven't touched it the default settings)

Fast memory (unstable): OFF (tested it with ON, Metal Slug 6 still crashed and/or freezes and/or gives error)

Ignore Bad Memory accesses: ON (When it's OFF, you can reach up to the 5th Area of mission 1 but it still freezes completely)

In the developer menu I got CPU Core set to "Dynarec (JIT)" it's the default settings, I didn't mess with things there except turning off "Enable Debug Logging" cuz I heard it helps with improving performance.

Also "Enable Driver Bug Workarounds" is turned ON by default, I didn't touch it.

Please help! Or figure out what's causing the issue.

Panderner commented 3 years ago

can you check where the last build worked?

unknownbrackets commented 3 years ago

DEADBEEF is what the OS initializes registers to after a syscall. These are pretty unusual instructions, and I don't think I've tested what specifically happens if you run one not aligned to a word.

That said, any access to DEADBEEF memory should crash, unless this instruction somehow ignores it (very doubtful.)

So it would seem like possibly a syscall that shouldn't clear its regs and should have predictable output in one of the regs?

Maybe this is a hacked ISO taking advantage of some firmware bug?

-[Unknown]