BizHawk icon indicating copy to clipboard operation
BizHawk copied to clipboard

[Octoshock] Bioses, Game Regions and You.

Open Spikestuff opened this issue 3 years ago • 9 comments

Ok. So let's say hypothetically that you're someone who just forces the bios for J/U/E to be the same and not care about that. There's 2 things that happens on a real console.

  1. It will take you to the bios' Main Menu screen in the bios and will not boot the mismatched game with the bios. PSMainMenu

  2. On a modded PlayStation the game will boot, however it will display that they're different in the bios. JonUPS An NTSC-J game is being played on a NTSC-U console it's displaying Sony Computer Entertainment Inc / SCEA.

For a game in the right region it would say Sony Computer Entertainment Inc / SCEI or Sony Computer Entertainment America / SCEA respective to the region being used.

This is where the issue comes in. BizHawk will not treat it like this. Instead it will boot as if it was normal and doesn't help the indication of wrong region, wrong bios. (And for the ha, ha funny: A PAL bios would be a black screen through the bios when an NTSC-U/J title is being loaded and will then boot into the game. A modded console would not be a black screen, a vanilla console will again take you to the bios' main menu.)


Upstream's solution is to throw an error that it's wrong entirely and to tell the user to actually get the correct bios. mednafensolution

RetroArch's solution to compare with their beetle core is to do that of the first thing listed which is to take you to the bios' main menu a thing an actual PlayStation console would do.

Spikestuff avatar Nov 10 '20 13:11 Spikestuff

So let's say hypothetically that you're someone who just forces the bios for J/U/E to be the same and not care about that.

Is this what Bizhawk does by default out of the box, or do you need to force firmware customizations to get this effect?

nattthebear avatar Nov 10 '20 14:11 nattthebear

or do you need to force firmware customizations to get this effect?

natt... you quoted me and the bit I said that has that answer...

who just forces the bios for J/U/E to be the same


Anyways to expand: No Hawk doesn't do it out of the box, it will request for you to grab the correct bios and will automatically scan for the right bios. If you don't have the mednafen recommended bioses it will not look for your alternatives even if it's satisfactory.

So for example: If I have the ps-22 (SCPH100X) bioses instead of ps-30 (SCPH550X) available in my firmware folder, it will not select the ps-22 automatically. You have to force it. (And just to point out. There are TASes that do not use the recommended bioses, instead a satisfactory one such as the TOCA TAS which used SCPH100X. So there is proof that users do force it.)

This is hypothetically saying that you're someone who would force it anyways cause you got that single bios and you're using that for each region despite it being wrong.

Spikestuff avatar Nov 10 '20 14:11 Spikestuff

I think we should take no action on this. Sensible defaults give sensible default behavior, tinkering with settings gives power users opportunities to do potentially invalid things. That's all fine.

nattthebear avatar Nov 10 '20 14:11 nattthebear

To be clear, this:

If you don't have the mednafen recommended bioses it will not look for your alternatives even if it's satisfactory. —https://github.com/TASVideos/BizHawk/issues/2474#issuecomment-724734712

...is a bug. The intended behaviour is to tell the user that the non-recommended BIOSes aren't supported, see #2224. Once that gets fixed, it seems more reasonable to call this user error and to not bother with getting system menus working.

In the meantime we could add a warning box like upstream, giving users the choice to open the Firmware Manager, load the rom anyway, or cancel loading.

YoshiRulz avatar Nov 10 '20 15:11 YoshiRulz

Adding information in the firmware manager is preferable to bolting on another special case interrupt in the middle of romloader. If done, wouldn't that fix this problem entirely? If you have a (U) game, Bizhawk gives the (U) bios choice,, and if you've customized the (U) bios choice to actually be an (E) bios then you would have been punished on the firmware manager when you made this change.

nattthebear avatar Nov 10 '20 16:11 nattthebear

True, it only needs to be the missing firmware warning like for Saturnus.

YoshiRulz avatar Nov 10 '20 16:11 YoshiRulz

Pushed d0a6817c1, resolving #2224; are we calling this user error?

YoshiRulz avatar Apr 04 '21 05:04 YoshiRulz

Upstream's solution is to throw an error that it's wrong entirely and to tell the user to actually get the correct bios. mednafensolution

Warning dialogs are a front-end feature, and one that we should probably copy. Whoever wired up the firmware seemed to think so too: https://github.com/TASEmulators/BizHawk/blob/d0a6817c1a0dea6926274618b2d869a82a3b2be1/src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs#L188-L189 Thing is, the CoreFileProvider only returns the raw bytes to the (Hawk-side) core, there's none of the metadata from the FirmwareDatabase. I suggest we add a param bool disallowUnacceptable to GetFirmware and have CoreFileProvider do the check.

edit: Something else to think about (assuming we want to continue allowing power users to explicitly use the wrong region BIOS): If we show a warning dialog and then immediately throw, fast-failing the rom load, we wouldn't be able to add an "allow loading with the wrong region BIOS" toggle to the sync settings, it would need to be put somewhere in the front-end config. (Because sync settings are inaccessible without a rom loaded.)

edit edit: wording. Also #3005 makes settings editable without loading the core; ignore everything I said that was predicated upon that limitation.

YoshiRulz avatar Apr 05 '21 03:04 YoshiRulz

Noting here, Nymashock leaves upstream's BIOS checks enabled by default and so would do the error thing by default.

CasualPokePlayer avatar Feb 02 '22 20:02 CasualPokePlayer

Regarding the missing warning dialog: Unacceptable firmware is marked as such, and this only affects Octoshock, so #wontfix.

Regarding the accuracy to hacked consoles: #wontfix :P

YoshiRulz avatar Mar 25 '23 09:03 YoshiRulz