TASEmulators / BizHawk

BizHawk is a multi-system emulator written in C#. BizHawk provides nice features for casual gamers such as full screen, and joypad support in addition to full rerecording and debugging tools for all system cores.
http://tasvideos.org/BizHawk.html
Other
2.18k stars 382 forks source link

C++ error while running MAME libretro in open advanced #3803

Open YousefSlimani99 opened 1 year ago

YousefSlimani99 commented 1 year ago

Summary

When I tried to run MAME 0.259 libretro on open advanced I got a microsoft visual runtime library error assertion failed, If somebody know how to fix this issue please let me know.

Repro

  1. I opened "Open Advanced" on file tab
  2. I selected the MAME libretro
  3. Then when I launch a game or no game I then got this error for some reason

Error message

Microsoft Visual C++ Runtime Library

Assertion failed!

Program: ...
File: LibretroBridge.cpp
Line: 456

Expression: id < sizeof (analog)

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application - JIT must be enabled)

Host env.

CasualPokePlayer commented 1 year ago

https://github.com/TASEmulators/BizHawk/blob/b5ebee7cd50c7a23649f2e97f964f897a997f2fa/LibretroBridge/LibretroBridge.cpp#L456 Failing at this assertion, needs more stuff added here, I guess: https://github.com/TASEmulators/BizHawk/blob/b5ebee7cd50c7a23649f2e97f964f897a997f2fa/LibretroBridge/LibretroBridge.h#L79-L85

CasualPokePlayer commented 1 year ago

https://github.com/libretro/RetroArch/blob/954b046/libretro-common/include/libretro.h#L207-L212 There's no other values valid for this... so I would just guess here that in fact this libretro core is just doing something very wrong here.

CasualPokePlayer commented 1 year ago

https://git.libretro.com/libretro/mame/-/blob/3d612fb19eb95c0ae322c3cab343857b14a65a9c/src/osd/modules/input/input_retro.cpp#L687 https://github.com/libretro/RetroArch/blob/954b046/libretro-common/include/libretro.h#L187 Meh, so it is doing something valid it appears, and the analog input libretro adapter in BizHawk needs more work.

YousefSlimani99 commented 1 year ago

https://git.libretro.com/libretro/mame/-/blob/3d612fb19eb95c0ae322c3cab343857b14a65a9c/src/osd/modules/input/input_retro.cpp#L687 https://github.com/libretro/RetroArch/blob/954b046/libretro-common/include/libretro.h#L187 Meh, so it is doing something valid it appears, and the analog input libretro adapter in BizHawk needs more work.

So you can fix this? I'm sure you can

YousefSlimani99 commented 1 year ago

Also same thing happened to me with other libretro cores like DosBox Pure