TASEmulators / TASEmulators/BizHawk

Arcade Top Landing ignores analog input

Open
#4,483 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Core: MAME Repro: Affects 2.11 Repro: Patch pending
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
  1. Try loading one of the roms mentioned above, they don't need to use the Multi-disk Bundler (Ecept for toplandj.zip)
  2. 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
Image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.