jpd002 / Play-

Play! - PlayStation2 Emulator
http://purei.org
Other
2.11k stars 256 forks source link

Tetris Worlds & Crash Bandicoot: Wrath Of Cortex, stay on black screen. #101

Closed ghost closed 7 years ago

ghost commented 9 years ago

Both the games that i mentioned above, only stay on the black screen.

seadil commented 9 years ago

On what device and which version did you test?

ghost commented 9 years ago

I tested this on a Motorola RAZR I x890, and on the latest version.

ghost commented 9 years ago

Does Play! implement FTOIO? I found this instruction under the VU1's disassembly with Crash Bandicoot and I can't seem to find anything about this instruction in Play! Maybe that's the issue? Not sure.

Also, can't find anything about ITOFO, which KH2 uses.

jpd002 commented 9 years ago

@MisterHubs Yes, both FTOI0 and ITOF0 are supported.

@talamir Yeah, PCSX2 is definitively better ATM. Play! has very limited compatibility but things are improving slowly.

Zer0xFF commented 9 years ago

@talamir I have it on good authority that the dev own a console shop, so he has access to old storage areas with PS2 games.

ghost commented 9 years ago

So is this a bug and can it be fixed?

jpd002 commented 9 years ago

@Abz1 Yes, it can be fixed, I'm getting the games and I will take a look at them once I receive them.

ghost commented 9 years ago

@jpd002 thanks alot! Good luck on this project, I hope it goes far.

johnnyleap commented 9 years ago

I haven't tried Tetris Worlds, but I looked into Crash Bandicoot: Wrath of Cortex:

The last thing the IOP tries to do is wake up a thread and it doesn't complete: JR RA, followed by ADDIU R0, R0, $001A. Similarly, SIO2MAN stays waiting for an event flag on the call stack with LW A1 and ADDIU as well just like with Grand Theft Auto: Vice City (ADDIU V0, R0, $0666/$0669).

The final function called on the IOP is a wake up thread as shown above & nothing further with IOP.

With the Emotion Engine, the last function called shows that there was an attempt to write to the translation lookaside buffer (TLB spad=0, kernel=1), followed by an addition with ADDIU and an overflow. The rest of execution rides up on continuous overflows and jump and link syscalls before ending with ADDIU SP, SP, $0040. Possibly an issue with the TLB and the IOP thread failure?

jpd002 commented 9 years ago

Last time I tried, Tetris World did work at least till the main menu, it just take a little while to load. For Crash Bandicoot, I'm suspecting a problem with IOP HLE.

johnnyleap commented 9 years ago

Yeah, Tetris Worlds does go pretty far, but it's unstable and impossible to see what you're doing:

Story mode: playtetrisworldsingame

Arcade mode: playtetrisworldsingame2

The music and sound effects work, so I don't know if this would be menu or in-game (it passes menus).

In any case, the problem is mostly with the rendering.

Zer0xFF commented 7 years ago

Build: master cbf190f OS: Ubuntu 17.04 Game: Tetris World Serial: SLUS_202.47;1

InGame: 15 fps Menu: 25fps

not sure when these improvements where made, but beside the low fps and minor graphic issues, the game is playable.

issues: Missing Block Color High Res, causes these lines to appear broken yellow block shadows the cube outside the tetris.

jpd002 commented 7 years ago

Don't remember what caused the issue in Tetris Worlds, but yeah, it's running much better than it used to. Also, Crash Bandicoot: Wrath of Cortex is playable now. So, I guess this issue can be closed now.

iOS4all commented 7 years ago

@jpd002 to remind you. Crash bandicoot the warth of cortex it has graphic issues. Maybe something missing to show in normal way.