TASEmulators / TASEmulators/BizHawk
Arcade Top Landing ignores analog input
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2.8k
- Forks
- 468
- PR merge metrics
- No merged PRs in 30d
Description
Summary
There are some MAME roms that throws an error trying to load them, most of the roms loads just fine even with the Multi-disk Bundler but only a few throws an Arcade error.
This problem happened to me with the following roms:
- gtmr2.zip
- hcrash.zip
- topland.zip w/ clone toplandj.zip
[There's probably more but these are the roms i had]
Repro
- Try loading one of the roms mentioned above, they don't need to use the Multi-disk Bundler (Ecept for toplandj.zip)
- Throws the Arcade error
Output
Example from topland.zip
System.ArgumentOutOfRangeException: range end < start
Nombre del parámetro: endInclusive
Valor actual 2047.
en BizHawk.Common.MutableRange`1.Overwrite(T start, T endInclusive) en /src/BizHawk.Common/Ranges.cs:línea 51
en BizHawk.Emulation.Cores.Arcades.MAME.MAME.GetInputFields() en /src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.IInputPollable.cs:línea 77
en BizHawk.Emulation.Cores.Arcades.MAME.MAME.StartMAME(List`1 roms) en /src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.cs:línea 235
en BizHawk.Emulation.Cores.Arcades.MAME.MAME..ctor(CoreLoadParameters`2 lp) en /src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.cs:línea 72
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
en BizHawk.Emulation.Cores.CoreInventory.Core.Create(ICoreInventoryParameters cip) en /src/BizHawk.Emulation.Cores/CoreInventory.cs:línea 144
en BizHawk.Client.Common.RomLoader.MakeCoreFromCoreInventory(CoreInventoryParameters cip, String forcedCoreName) en /src/BizHawk.Client.Common/RomLoader.cs:línea 433
Host env.
- BizHawk 2.11 (No DEV build); Win11 Home 24H2; NVIDIA
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure with topland.zip, then read BizHawk.Emulation.Cores/Arcades/MAME/MAME.IInputPollable.cs at GetInputFields and BizHawk.Common/Ranges.cs at MutableRange. Check the listed ROMs and the stack trace path first; done means the affected ROMs load without the range exception and their analog input is handled correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100