libretro / libretro-uae

PUAE libretro
GNU General Public License v2.0
112 stars 60 forks source link

Super Street Fighter II HDF not working #464

Closed ToniBC closed 2 years ago

ToniBC commented 2 years ago

Hi, I'm trying to play this game, but I can't. I am with Retroarch nightly, core updated under Windows 10 x64.

The game Super Street Fighter II in its .ADF version works, but in its HDF version it does not load, it is left with a black screen. I have all the kickstarts as well.

Other versions like Super Street Fighter II Turbo, if they load and the Street Fighter II, I only have the problem with the Super Street Fighter II.

I also tried a compilation in HDF of all the Street Fighters and they all load except the normal Super or AGA that always gives a black screen.

I have the cycle precision, I have modified several options and Amiga models, but nothing.

I see that it worked before, but now it seems that it doesn't.

Can someone check if it works and what options to put in case it works.

Thanks.

sonninnos commented 2 years ago

WHDLoad versions do not work for some reason, and never have, but regular HD installable does fine with defaults:

retroarch_2021_11_03_10_04_23_279

ToniBC commented 2 years ago

Here I am a little lost. There is a tutorial or video where I explained how to create an installable version of a game or how to install a game using the core, because the only thing I found are the adf and hdf versions.

I do not know if the installable version will be with another extension or can be played without having to change discs.

It is that the Friend I never had and I am somewhat lost.

sonninnos commented 2 years ago

Well if the HDF version does not work, it must be the WHDLoad version and not the actual HD installed version. The first disk has the installer, which obviously has to be run from Workbench, as in not booted from. It can be done easily with the core by using the "Global Boot HD" core option (After installing Workbench to it of course).

The installer is rather dumb, because it wants to create a blank boot disk, which is also easy to do with the core (SVDS key in VKBD), and the boot disk only has Startup-Sequence which can be simply copied to create a single bootable HDF.

i30817 commented 2 years ago

Speaking of street fighter 2, the super-turbo whdload versions have a weird behavior with controls where you can move in directions without game focus on, and can throw punches and kicks with game focus on, but not both.

Probably a whdload mistake, but just so you know.

edit: this is maybe because the there is a bunch of 'unmapped defaults' in 'retropad mapping options'. Strange, never saw another core where you had to adapt the retroad manually. edit2: nope. The moving makes sense since the unmapped defaults for retropad for the directions go to the joystick, but the unmapped default for A and B is supposed to go to joystick fire buttons and they're not triggering.

edit: until, of course, i change the input type of the retropad in the main options of player 1 to 'CD32 Pad' from 'Retropad'.

Is it possible to make that a default for games with 'cd32' in the name?

edit2: also it crashes with a missing file when winning the DeeJay fight: (object is not of required type) on reading "CONTINUE/DEEJAYANM.STC"

sonninnos commented 2 years ago

Even the AGA version of SSF2Turbo seems to be requiring a CD32 pad, which makes sense since one regular fire button joystick, or even two button joystick simply is not enough in this case. Weird that menu can be triggered with a regular joystick though, but not player selection.

The mappings exist in core options because with these Commodore computers it is a very common requirement to mix joystick buttons and keyboard keys, because single fire joysticks were mostly used.

It is way better to create a fantasy joypad in emulation instead of reaching out for the spacebar whenever it is required for jumping etc, and for cases where a physical keyboard is not available. CD32 pad type will override all those core option mappings when they overlap.

Game focus has nothing to do with controllers, only keyboard. In this game player 1 can be controlled with the keyboard using numpad, but looks like player 2 only has fire buttons on the keyboard, but not movement..

And no, there is no way to change the controller type default depending on content, since it is dictated by the frontend. Sure would be nice to be able to do it for CD32 games.

ssf2t

i30817 commented 2 years ago

I wish there was a way to move the 'cd32' to the core so the core could auto configure based on name ie: 'CD32' in the name, because doing this per-game is annoying.

The alternative is to dump all the cd32 games in a single directory by themselves and use a 'per dir config' to set the controller in RA to 'cd32 pad' and that's not very usable because it requires changes to the dump group directory structure.

I'm not sure i understood why cd32 pad has to be a settings->input option? The issue is that is required to mix keyboard and pad input? But it doesn't seem like there is a difference with retropad in that menu and 'joystick' games, so it almost seems to me like retropad completely subsumes both joystick and cd32 pad except for core specific baggage (hardware differences etc) where you'd be free to say 'i'm going to treat this as a cd32 pad or a joystick based on the filename' as a option.

Mind you i'm not sure if other cores don't have this issue too, i suppose dolphin might be the same with all its native controllers.

sonninnos commented 2 years ago

Then again using those WHDLoad CD32 versions is not that wise anyway, since they will be missing CD audio if there are any. With actual CD images one can simply do a content dir remap and be done with it.

RetroPad would be unusable without keyboard key bonuses, but a CD32 controller does not require any, because CD32 does not have a keyboard by default. It has to be a separate selectable option, because sometimes you might want a CD32 pad with non-CD32 games, and sometimes you want a Mouse+Keyboard combo with CD32 games. If it would only be in core options, it would be even more messier.

i30817 commented 2 years ago

Ironically, that appears to be the case with the AGA version of SFIITurbo, where the retropad option has the same problems as the retropad option on the CD32 WHDLoad version. Oh well, it doesn't matter because both WHDLoad versions of that game crash when you win some bouts.

Seems like this one really wasn't tested.

i30817 commented 2 years ago

The mappings exist in core options because with these Commodore computers it is a very common requirement to mix joystick buttons and keyboard keys, because single fire joysticks were mostly used.

BTW, i just found out you can't save as a core option Input-type to CD32 Pad. (The only 'retropad' string in ~/.config/retroarch/config/PUAE/PUAE.opt after changing to that and saving core options is puae_retropad_options = "disabled" and if you restart the game it says the configuration override was loaded but if you go back to input it's back to retropad.

So... what can be done to resolve this in the best way possible? I was trying to set all amiga games to try to load with a cd32 pad since they're not that different from a retropad and seem to have better results on a wide range of whdload games (for some reason, i suppose i was naive to think that they would work the same). What now?

Note: i don't have a controller at all @sonninnos, i'm just using the mappings on the keyboard by default.

sonninnos commented 2 years ago

No, there is no core option for the device type, changing it is only possible via the frontend remap controls. Simply save the remap per core/directory/game under Quick Menu > Controls and don't use Settings > Input.

Sure, a widening bunch of WHDLoad installs have added support for CD32 controller and/or second fire button, but I don't think they are enabled by default that often.

It does not matter what device is used as a controller, since it is seen as the controller, not the device.

i30817 commented 2 years ago

Thanks, can't believe i missed it.