Project

General

Profile

Actions

Emulator Issues #12388

closed

JitArm64: Sonic Colors breaks when moving along walls in Spike form

Added by JosJuice over 3 years ago. Updated about 3 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-14066

Description

Game Name?

Sonic Colours

Game ID? (right click the game in the game list, Properties, Info tab)

SNCP8P

MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)

977ACAB35B84CE8B0E3420574A8ACDE5

What's the problem? Describe what went wrong.

Occasionally when moving along walls (moving around corners?) in Spike form, the 3D portions of the screen will become black and gameplay will stop functioning but music keeps playing. Presumably Sonic's position is becoming invalid.

What steps will reproduce the problem?

This video (not made by me) shows a way to reproduce the problem in Planet Wisp Act 1: https://streamable.com/rcgifn

If you are downloading a 100% completed save file to try this out, make sure to disable Super Sonic in the settings before entering the level. (The settings can be accessed from the bottom-left part of the map screen.)

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Yes, 5.0-13493.

Is the issue present in the latest stable version?

Not tested, but the issue has been around for a while.

What are your PC specifications? (CPU, GPU, Operating System, more)

Snapdragon 855, Android 10


Related issues 1 (0 open1 closed)

Related to Emulator - Emulator Issues #3471: Black screen issues on Sonic ColoursFixed

Actions
Actions #1

Updated by JosJuice over 3 years ago

  • Status changed from New to Work started
  • Assignee set to JosJuice

I'm submitting this only to better document the issue – I'm already working on a fix. The problem is that denormals are not being flushed to zero despite fpscr.NI being set. Just like with issue 11530, FALLBACK_IF(!upper && singles && d != c) in ps_sumX avoids the issue.

Actions #2

Updated by JosJuice over 3 years ago

Actions #3

Updated by JosJuice over 3 years ago

  • Status changed from Work started to Fix pending
Actions #4

Updated by JosJuice about 3 years ago

  • Status changed from Fix pending to Fixed
  • Fixed in set to 5.0-14066
Actions

Also available in: Atom PDF