libretro / libretro/RetroArch

Help message non-sensical when using MAME

Open
#13,525 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core bugs - not retroarch bugs platform: osx
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

First and foremost consider this:

  • Only RetroArch bugs should be filed here. Not core bugs or game bugs
  • This is not a forum or a help section, this is strictly developer oriented

Description

When an error is produced by MAME (like missing a required ROM) is generated, a help window/widget message is displayed in Retroarch, but the message text is garbled and non-sensical.

Expected behavior

The message decodes into readable english.

Actual behavior

The message decodes into garbage text (see bottom left corner):
Screen Shot 2022-01-21 at 1 33 29 PM

The log also shows the garbage text:

❯ /Applications/RetroArch.app/Contents/MacOS/RetroArch --verbose
[INFO] [Config]: Loading default config.
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
[INFO] Capabilities:  MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX AVX2
[INFO] Built: Jan 21 2022
[INFO] Version: 1.10.0
[INFO] =================================================
...
[libretro INFO] Starting game:/Users/xxx/Downloads/apple2/mcorgtrl.zip
[libretro WARN] Driver mcorgtrl not found -1
[libretro ERROR] Driver not found mcorgtrl
[libretro INFO] Game name: apple2, Game description: Apple ][
[libretro ERROR] System not found: apple2
[libretro INFO] Game name: apple2, Game description: Apple ][
[libretro INFO] Creating frontend for game: mcorgtrl
[libretro INFO] Softlists: 1
Adding monitor screen0 (640 x 480) a:1.333333
[libretro WARN] Invalid video value opengl; reverting to software
[libretro INFO] SOURCE FILE: ../../../../../src/mame/drivers/apple2.cpp
[libretro INFO] PARENT: 0
[libretro INFO] NAME: apple2
[libretro INFO] DESCRIPTION: Apple ][
[libretro INFO] YEAR: 1977
[libretro INFO] MANUFACTURER: Apple Computer
[INFO] [Environ]: SET_MESSAGE: 0??R?
[libretro ERROR] a2.chr ROM NEEDS REDUMP
341-0028-a.rom NOT FOUND (tried in d2fdc apple2)
[INFO] [Environ]: SET_MESSAGE: 0??R?
[libretro ERROR] Fatal error: Required files are missing, the machine cannot be run.

The SET MESSAGE should potentially be the same as the error in the log, in this example:

341-0028-a.rom NOT FOUND (tried in d2fdc apple2)

or

[libretro ERROR] Fatal error: Required files are missing, the machine cannot be run.

Strangely, the garbled text is different when launching the same game and producing the same error.

Steps to reproduce the bug
  1. Install latest Retroarch and latest MAME core
  2. Start any game, purposefully without all the required files for the game
  3. Note garbled text
Bisect Results

This issue has been present for many many versions, and is still present in 1.10

Version/Commit

You can find this information under Information/System Information

  • RetroArch: 1.10.0 stable
Environment information
  • OS: OSX
  • Compiler: Buildbot

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

Reproduce the missing-ROM error with the MAME core on macOS and compare the on-screen SET_MESSAGE output with the libretro log. Trace where the SET_MESSAGE text is passed from the core into RetroArch's help window/widget, then verify that the displayed message is readable and corresponds to the reported missing-file or fatal-error text.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.