TASEmulators / TASEmulators/BizHawk

[MAME (Or probably more)] - Can't load files that are more than 2 GBs

Open
#3,953 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

App: EmuHawk Core: MAME
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

Summary

So i've tried to launch Time Traveler with BizHawk but throws an error saying that "this operation is actually limited to compatibility files with a filesize lower than 2 gygabytes."

Repro
  1. Prepare timetrv.zip and timetrv.chd with the Multi-disk Bundler and be sure the System is set to Arcade
  2. Save and Run
  3. Throws the following error in the Output part
Output

(Sorry if you see Spanish text, my PC is Spanish, should be still understandable)

---------------------------
GBL load error
---------------------------
System.InvalidOperationException: System.Exception: Couldn't load XMLGame LoadAsset "..\timetrv\timetrv.chd" ---> System.IO.IOException: El archivo es demasiado largo. Esta operación está actualmente limitada a archivos de compatibilidad con un tamaño inferior a 2 gigabytes.

   en System.IO.File.InternalReadAllBytes(String path, Boolean checkHost)

   en BizHawk.Client.Common.XmlGame.Create(HawkFile f) en /_/src/BizHawk.Client.Common/XmlGame.cs:línea 93

   --- Fin del seguimiento de la pila de la excepción interna ---

   en BizHawk.Client.Common.XmlGame.Create(HawkFile f) en /_/src/BizHawk.Client.Common/XmlGame.cs:línea 100

   en BizHawk.Client.Common.XmlGame.Create(HawkFile f) en /_/src/BizHawk.Client.Common/XmlGame.cs:línea 127

   en BizHawk.Client.Common.RomLoader.LoadXML(String path, CoreComm nextComm, HawkFile file, String forcedCoreName, IEmulator& nextEmulator, RomGame& rom, GameInfo& game) en /_/src/BizHawk.Client.Common/RomLoader.cs:línea 581
Host env.
  • BizHawk 2.9.1 (No DEV build); Win10 Pro 22H2; NVIDIA

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 in src/BizHawk.Client.Common/XmlGame.cs at the loading path that calls File.InternalReadAllBytes, then review the related flow in RomLoader.cs. Reproduce with the reported timetrv.chd file over 2 GB and verify that the compatibility file loads successfully without the size-limit exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
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.