Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dragon's crown sometimes won't boot. #3013

Closed
JacobAL opened this issue Jul 14, 2017 · 20 comments
Closed

Dragon's crown sometimes won't boot. #3013

JacobAL opened this issue Jul 14, 2017 · 20 comments

Comments

@JacobAL
Copy link

JacobAL commented Jul 14, 2017

Just hangs at black screen on trying to load trophy data.
Only happens in recompiler (LLVM/ASMJIT) and will happen most times I try to boot the game. Sometimes it will just boot and work fine though.

Specs
Settings

Not a problem on interpreter.

Log:
redacted console output

@AniLeo
Copy link
Member

AniLeo commented Jul 15, 2017

Please upload a full log.

@JacobAL
Copy link
Author

JacobAL commented Jul 15, 2017

Here's the log
This one booted to the loading screen and then crashed. (Weird because that hasn't happened before, usually it works if it gets past the blackscreen.)

Here's another log using D3D Here, instead of a black screen, I get "Setting up trophy data" without the data loading at all.
Unfortunately, once past the loading screen, it crashes with D3D12.

Here's a log where it eventually worked.

@JacobAL
Copy link
Author

JacobAL commented Jul 15, 2017

Doesn't seem to matter, crashes on starting a level anyway.

@JacobAL
Copy link
Author

JacobAL commented Jul 15, 2017

On further experimentation, it seems that LLVM causes the main issue with loading the game, whereas Interpreter PPU+ASMJIT will still work.

@zminhquanz
Copy link

This game have a freeze during boot when you using PPU LLVM

@JacobAL
Copy link
Author

JacobAL commented Aug 5, 2017

LLVM still an issue but the recompiled audio now works really well.

@RipleyTom
Copy link
Contributor

I investigated and it's not a LLVM issue.
It's a sync issue caused by bad coding in the original game, only occurs with llvm because of the speed at which ppu runs with it.
I may release a patch for it at some point.

@RipleyTom
Copy link
Contributor

RipleyTom commented Aug 5, 2017

Patch to add to Patch.yml:

PPU-60f7a7f5e0de894da8e5de235609228c40e70197: #DC BLUS30767 Sync Fix
  - [be32, 0x5BCA18, 0x63C30000]
  - [be32, 0x5BCA1C, 0x4BFFF829]
  - [be32, 0x5BCA20, 0x38600045]
  - [be32, 0x5BCA24, 0x4832BA7D]
  - [be32, 0x5BCA28, 0xE8410028]
  - [be32, 0x5BCA2C, 0x80BE01D8]
  - [be32, 0x5BCA30, 0x38800000]
  - [be32, 0x5BCA34, 0x90A30000]
  
PPU-6176fa2b3718a28e1a1e75509f6ccd6b86c3226a: #DC NPUB31235 Sync Fix
  - [be32, 0x5BCA08, 0x63C30000]
  - [be32, 0x5BCA0C, 0x4BFFF829]
  - [be32, 0x5BCA10, 0x38600045]
  - [be32, 0x5BCA14, 0x4832B87D]
  - [be32, 0x5BCA18, 0xE8410028]
  - [be32, 0x5BCA1C, 0x80BE01D8]
  - [be32, 0x5BCA20, 0x38800000]
  - [be32, 0x5BCA24, 0x90A30000]

PPU-5a321fc3fff581b38c6b970762e0a7c7f4fbee0e: #DC BCAS20298 Sync Fix
  - [be32, 0x5C24C8, 0x63C30000]
  - [be32, 0x5C24CC, 0x4BFFF829]
  - [be32, 0x5C24D0, 0x38600045]
  - [be32, 0x5C24D4, 0x4832D53D]
  - [be32, 0x5C24D8, 0xE8410028]
  - [be32, 0x5C24DC, 0x80BE01D8]
  - [be32, 0x5C24E0, 0x38800000]
  - [be32, 0x5C24E4, 0x90A30000]

If you need for another version, contact me on discord.

@RipleyTom
Copy link
Contributor

RipleyTom commented Aug 5, 2017

After discussing it with jarves and kd-11 we discovered a forgotten sleep(1ms) in the rsx thread.
#3158 should fix the issue with processors with a sufficient amount of cores.
The race condition is still there however and for processors with few cores this may still be an issue and the patch still needed.

Edit:
Just to be clear, the race condition is always there(because of the original game code, not the emulator), just less likely to happen the more cores you have.

@YaPeL
Copy link

YaPeL commented Aug 5, 2017

How many cores are we talking about? X > 2?

@JacobAL
Copy link
Author

JacobAL commented Aug 8, 2017

Saw the video on the youtube channel today. I'll try the newest build when i have some time. Thanks for the fix!

@davoodinator
Copy link

can you make a patch for the NPUB31235 version as well please

@RipleyTom
Copy link
Contributor

Added fix for NPUB31235, not tested but it should work.

@RipleyTom
Copy link
Contributor

RipleyTom commented Aug 19, 2017

Added fix for BCAS20298 version

edit:
I had forgotten to update the offsets, done now sorry.

@SamuelBeckingham-Cook
Copy link

SamuelBeckingham-Cook commented Oct 18, 2017

Still happening for me, hangs on the loading screen. Here's a link to the log

I have it set to Recompile GPU+SPU and Vulkan - Using the BLUS30767 version.

If I swap the GPU to Interpreter - I get slightly different behaviour. The "Now loading" message briefly fades, then this logs:
E {PPU[0x1000011] Thread (FiberFunc) [0x004a15e8]} cellSaveData: cellSaveDataEnableOverlay(enable=1)
And then it returns.

With LLVM, this happens faster than the loading screen can appear. EDIT: I have also included the patch.yml above - No luck unfortunately

@JacobAL
Copy link
Author

JacobAL commented Nov 4, 2017

U {PPU[0x1000000] Thread (main_thread) [0x00df9368]} sys_prx TODO: _sys_prx_get_module_id_by_name(name=“cellLibprof”, flags=0, pOpt=*0x0)
E {PPU[0x1000000] Thread (main_thread) [0x00df9368]} 'sys_prx_get_module_id_by_name' failed with 0x8001112e : CELL_PRX_ERROR_UNKNOWN_MODULE [2]
U {PPU[0x1000000] Thread (main_thread) [0x00df9368]} sys_prx TODO: _sys_prx_get_module_id_by_name(name=“cellLibprof”, flags=0, pOpt=*0x0)
E {PPU[0x1000000] Thread (main_thread) [0x00df9368]} 'sys_prx_get_module_id_by_name' failed with 0x8001112e : CELL_PRX_ERROR_UNKNOWN_MODULE [3]
U {PPU[0x1000000] Thread (main_thread) [0x005b57a8]} cellNetCtl TODO: cellNetCtlGetInfo(code=0x2 (INFO_ETHER_ADDR), info=*0x28241858)
S {Audio Thread} XAudio 2.9 initialized
E {PPU[0x1000000] Thread (main_thread) [0x00de0090]} 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_flash/data/font/SCE-PS3-SR-R-LATIN.ccd” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00de0090]} 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_flash/data/font/SCE-PS3-SR-R-JPN.ccd” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00de0090]} 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_flash/data/font/SCE-PS3-YG-R-KOR.ccd” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00de0090]} 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_flash/data/font/SCE-PS3-DH-R-CGB.ccd” [1]
E {PPU[0x1000010] Thread (FiberFunc) [0x005b7c18]} sceNpTrophy: sceNpTrophyRegisterContext(context=0x1, handle=0x1, statusCb=*0xb34720, arg=*0x282418fc, options=0x1)
E {PPU[0x1000000] Thread (main_thread) [0x005b7e90]} 'sys_ppu_thread_join' failed with 0x80010005 : CELL_ESRCH [1]
E {PPU[0x1000000] Thread (main_thread) [0x005b7e90]} 'sys_ppu_thread_join' failed with 0x80010005 : CELL_ESRCH [2]
E {PPU[0x1000000] Thread (main_thread) [0x005b7e90]} 'sys_ppu_thread_join' failed with 0x80010005 : CELL_ESRCH [3]
E {PPU[0x1000011] Thread (FiberFunc) [0x004a15e8]} cellSaveData: cellSaveDataEnableOverlay(enable=1)

Getting this issue where the game won't get past now loading any more. Not sure when this started but the last few versions I've tried are like this.

@AniLeo
Copy link
Member

AniLeo commented Nov 4, 2017

No real issue on your copy pasta

@JacobAL
Copy link
Author

JacobAL commented Nov 5, 2017

Not even all those things that say failed and the fact that it was all red? It didn't go past the first loading screen.

@AniLeo
Copy link
Member

AniLeo commented Nov 5, 2017

Maybe unimplemented cellNetCtlGetInfo and even that is not likely the cause, the rest is pretty normal. Most of the times the issue doesn't end up logged.

@JacobAL
Copy link
Author

JacobAL commented Nov 5, 2017

Loading liblvl2 only fixed it. Should troubleshoot before opening problems really.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants