finalburnneo / FBNeo

FinalBurn Neo - We are Team FBNeo.
http://neo-source.com
Other
881 stars 355 forks source link

NeoGeo Red Warning Screen on several titles #1706

Closed ilpappa closed 2 months ago

ilpappa commented 4 months ago

Hi all,

I’m running retropie 4.8.6 (raspberry pi4b) with latest lr-fbneo release available from source. Neo Geo romset used fully complies with provided DAT files. Bios used is Unibios in MVS Europe mode.

The issue is related to several games being stuck in Neo Geo red warning screen while loading (usage of this cart is not authorized…etc). It happens for instance with Metal Slug 2 or King of Fighters 98. The only workaround is to patch memory as described in the below link.

https://github.com/eniva/MisSTer_Guides/wiki/NeoGeo-Red-Warning-Fix

Doing the above patching will solve the issue for all the affected games.

Would it be possible to fix this behavior?

Happy to provide further details if needed.

Many thanks, Michele

barbudreadmon commented 4 months ago

This is usually happening because you used overclocking and the emulated neogeo detected there is something wrong with your machine, the fix is usually the following :

  1. Set cpu clock back to 100%
  2. Delete any eeprom (.nv files) saved to those games
ilpappa commented 4 months ago

Thanks a lot @barbudreadmon !

Indeed I’m using overclock to 200% as that’s the only way to smoothly play Metal Slug 2.

Do you think it could be worth to make any enhancement so that overclocking is not triggering the protection?

Many thanks, Michele

barbudreadmon commented 4 months ago

that’s the only way to smoothly play Metal Slug 2

I'd recommend using mslug2t instead, it was patched to remove the slowdowns. As for using overclocking, you should probably consider using overrides instead of applying that stuff globally.

I'm not entirely sure why the protection is triggered, it doesn't make much sense to me since 200% is triggering it but 400% doesn't. Ok, so actually i just discovered something : the protection only seems to trigger if the machine was overclocked at 1st boot, and will always trigger from then on (until you remove the eeprom). If 100% is used at first boot then the protection doesn't seem to ever trigger afterwards, whatever clock is used (as long as you keep the same eeprom). Maybe a possible workaround would be to enforce 100% the 1st time the game is booted.

ilpappa commented 4 months ago

Thanks a lot, those info are really useful. Do you think is there anything that can implemented on core level to better handle those situations?

barbudreadmon commented 3 months ago

is there anything that can implemented on core level to better handle those situations?

Delaying overclocking until eeprom has been generated does seem realistic, i have yet to look into this though.

dinkc64 commented 2 months ago

barbudreadmon, that's really a bad idea that could mess with a lot of things, so let's not :) the whole thing is really down to "user error"

barbudreadmon commented 2 months ago

fine by me, i'll close then :)