ps2homebrew / Open-PS2-Loader

Game and app loader for Sony PlayStation 2
https://ps2homebrew.github.io/Open-PS2-Loader/
Academic Free License v3.0
2.18k stars 273 forks source link

[ISSUE][SCUS_971.79]: Twisted Metal: Black Online not booting / black screen from internal HDD #704

Open pairomaniac opened 2 years ago

pairomaniac commented 2 years ago

Checks

Describe the issue

NTSC version of Twisted Metal Black Online does not start on the latest beta build. Tried multiple differents rips, boot methods and compatibility modes.

Console model

SCPH-39004

OPL version / revision

v1.2.0-Beta-1906-8cb777

In which device(s) have you experienced this issue?

USB (works), HDD

Context and extra information

No response

J013k commented 2 years ago

Does it stuck at pink screen when you enable debug colors?

If yes, try OPL v1.0.0.

pairomaniac commented 2 years ago

Does it stuck at pink screen when you enable debug colors?

If yes, try OPL v1.0.0.

It sure does. Thanks for the suggestion but I'll stick with the newest version for now - just wanted to report the issue.

Aced14 commented 2 years ago

Some of the newer comments from https://github.com/ps2homebrew/Open-PS2-Loader/issues/203#issuecomment-957879177 onward also brought up this issue. Seems to have started with HDD support breaking, followed by USB issues when ZSO support was first introduced. USB is now fixed as of R1908, but HDD is still broken to this day.

Here's an outline of my HDD + USB test results...

PS: TMBO via HDD might potentially benefit from #691's mode 1 changes if future commits can make it bootable again. HDD setups seem to be prone to random freezing when playing with several players in-game and at loading screens. USB stability is rock-solid by comparison on my SCPH-30001. I might create a standalone issue about this in the future.

ghost commented 2 years ago

I tried this game on MX4SIO recently and it worked fine. Althought I couldn't get the online mode to work properly on it...

Aced14 commented 1 year ago

@AKuHAK Should the serial number in this issue's title be renamed from SCUS_971.79 to SCUS_971.96? No variants of TMBO use ELF files named after the former's serial number.

TMBO was first released in the second half of 2002 in North America. It could be redeemed for "free" by mailing in a postcard to SCEA that came with early pressings of the PS2 network adapter. In return, they sent out a sealed cardboard sleeve with a TMBO disc in it. It may have also been sent out to a a subset of PlayStation Underground members. That edition of the game used SCUS-97196 as its serial number. The game's ELF file is named after it. IIRC that serial number is even embedded within the ELF's data.

Later on, Sony began bundling TMBO into specially-marked greatest hits copies of TMB. That edition's serial number is SCUS-97179. It uses a new case insert, instruction manual and disc art for both games. Both discs say SCUS-97179 on them - but their files are exactly identical to their initial releases. The greatest hits TMBO disc still uses an ELF file named SCUS_971.96. There's no such thing as v1.1/v2.0 builds of TMB nor TMBO.

PS: There are also a few other variants of TMB/O out there... but all of their disc contents are identical:

AKuHAK commented 1 year ago

@Aced14 this serial is used for identifying the game iso, sometimes this identificator does not match main elf, its true. But it is easier to search for redump identificator, even if game elf ahs different naming. Thanks for information, though.

Aced14 commented 1 year ago

Well I guess it's not a big deal either way, but what I was trying to point out was that SCUS_971.79 can't uniquely identify a TMBO ISO. It was printed on both of the greatest hits bundle's TMB and TMBO disc labels (source). In other words, that serial number could technically represent two entirely different discs.

In the context of OPL's compatibility configs, XPARAM patches, PCSX2's game ID database, etc... SCUS_971.79 wouldn't match either disc since it's only used on packaging. The only way to detect each disc would be to match their "real" serial numbers:

As for redump, searching for SCUS-97196 in it automatically redirects to TMBO's listing. The listing is associated to both serial variants.

Anyway, sorry for going off topic. I'll hold off posting any further replies about serials.

AKuHAK commented 1 year ago

check with this version 2024-db51e73 @Aced14

Aced14 commented 1 year ago

@AKuHAK Just gave it a shot without any luck :(.

All of my attempts ended with a purple screen transitioning to a pink screen that froze (probably iopmgr.c / New_Reset_Iop() / FUNCTION START according to @israpps's OPL EE core debug colours page).

Here's an outline of all of the combinations I tried on that experimental OPL build (OPNPS2LD-v1.2.0-Beta-2024-db51e73.ELF, db51e73):

10522 commented 1 year ago

Twisted Metal Black Online [SCUS_971.96 & SCES_514.80]:

OPL Stable 1.1.0 SMB - pink debug screen on startup OPL Stable 1.1.0 USB - works well

OPL Beta 1.2.0 2018 SMB - pink debug screen on startup (ISO & ZSO) OPL Beta 1.2.0 2018 USB - pink debug screen on startup (ISO & ZSO)

OPL DB 914 SMB - works well

My PS2 model is SCPH-90008. Compatibility modes do not help. I use redump images and don't use PADEMU, VMC, GSM.

st12q commented 11 months ago

Confirm, stuck at pink screen 50008 PAL, tested HDD(original adaptor, sata mod, 1tb hdd) and USB 1.2.0 2049-513e9b3 SCUS_971.96 bin converted to iso through OPL manager 22.3

10522 commented 7 months ago

@AKuHAK, @rickgaiser, @Aced14

Twisted Metal Black Online [SCUS_971.96]:

OPL DB 992 SMB - works well OPL DB 996 SMB - black screen on startup

OPL Beta 1.2.0 1870 USB - works well OPL Beta 1.2.0 1871 USB - pink debug screen on startup

OPL Beta 1.2.0 2036 SMB ISO - pink debug screen on startup OPL Beta 1.2.0 2041 SMB ISO - black screen on startup OPL Beta 1.2.0 2072 SMB ISO - black screen on startup OPL Beta 1.2.0 2072 USB ISO - pink debug screen on startup

By the way, here (1, 2, 3) there is a issue with the same OPL version.

rickgaiser commented 7 months ago

I just tried this game in neutrino. It works, but I also found this game to be doing some strange things: It requests the maximum amount of free ram with QueryMaxFreeMemSize, and then allocates that amount. Leaving 0 free IOP ram for other modules. This memory is returned shortly after, but this process repeats 2 more times (3 times in total) on startup. It's possibly a copy protection, or poor programming. If some OPL versions use dynamic memory they will crash.

As a counter measure I've hooked QueryMaxFreeMemSize, and limit the maximum amount returned.

10522 commented 7 months ago

@rickgaiser, is it possible to fix this game in OPL?