Skip to content

feat(mister): support latest RetroAchievements cores#1095

Merged
wizzomafizzo merged 1 commit into
mainfrom
feat/mister-ra-core-support
Jul 13, 2026
Merged

feat(mister): support latest RetroAchievements cores#1095
wizzomafizzo merged 1 commit into
mainfrom
feat/mister-ra-core-support

Conversation

@wizzomafizzo

@wizzomafizzo wizzomafizzo commented Jul 13, 2026

Copy link
Copy Markdown
Member

Summary

  • add MiSTer RetroAchievements launchers for newly supported Saturn and Atari 7800 cores
  • support shared-core FDS, Game Gear, Neo Geo CD, and TurboGrafx-CD systems with dedicated set names
  • preserve virtual-system ROM paths by disabling same_dir where no separate RBF exists
  • extend launcher, set-name, and shared-directory regression coverage

Closes #1051
Closes #1056

Summary by CodeRabbit

  • New Features
    • Added RetroAchievements launchers for Atari 7800, Famicom Disk System, Game Gear, Neo Geo CD, Sega Saturn, and TurboGrafx-16 CD.
    • Expanded support for identifying and grouping RetroAchievements game sets across these platforms.
    • Added platform-specific launch options to improve compatibility when launching supported titles.

@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

MiSTer RetroAchievements support adds launcher definitions for additional systems, extends launcher-to-set mappings, and updates tests for mappings, same-directory behavior, launcher existence, and system inheritance.

Changes

RetroAchievements launcher support

Layer / File(s) Summary
Set-name mappings
pkg/platforms/mister/launchers.go
Additional launcher IDs map to Atari 7800, Neo Geo CD, Saturn, and TurboGrafx-16 CD set names.
Launcher definitions
pkg/platforms/mister/launchers.go
Launchers for Atari 7800, FDS, Game Gear, Neo Geo CD, Saturn, and TurboGrafx-16 CD use their system IDs, helper functions, and alternate core paths.
Launcher regression coverage
pkg/platforms/mister/launchers_test.go
Tests cover the expanded mappings, same-directory behavior, launcher existence, system inheritance, and Atari 7800 availability.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR does not show the required N64/PSX core support or the Game Boy Color launcher and ROM-directory fix. Add the N64/PSX RetroAchievements launchers and the Game Boy Color RA_GBC handling described in #1051 and #1056.
Out of Scope Changes check ⚠️ Warning The PR adds Saturn, Atari7800, FDS, Game Gear, Neo Geo CD, and TurboGrafx-CD work that is unrelated to the linked issues. Split the unrelated core additions into a separate PR or remove them so this change stays focused on #1051 and #1056.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the MiSTer RetroAchievements launcher/core work and is concise enough for history.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/mister-ra-core-support

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pkg/platforms/mister/launchers_test.go`:
- Around line 755-763: The same-directory regression cases only verify helper
input rather than actual launcher wiring. Update the relevant test around
CreateLaunchers to inspect each generated launcher’s effective configuration,
asserting set name, RBF path, and SetNameSameDir; alternatively extract and test
a pure launcher-configuration helper while preserving the existing expected
values.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 30d32814-edfe-4e06-b34c-d5a1f561e06d

📥 Commits

Reviewing files that changed from the base of the PR and between 6c4c22d and 2d7f64b.

📒 Files selected for processing (2)
  • pkg/platforms/mister/launchers.go
  • pkg/platforms/mister/launchers_test.go

Comment on lines +755 to +763
{launcherID: "RAAtari7800", wantSetName: "RA_Atari7800", wantSameDir: true},
{launcherID: "RAS32X", wantSetName: "RA_S32X", wantSameDir: true},
{launcherID: "RASaturn", wantSetName: "RA_Saturn", wantSameDir: true},
{launcherID: "RAFDS", wantSetName: "RA_FDS", wantSameDir: false},
{launcherID: "RAGameboyColor", wantSetName: "RA_GBC", wantSameDir: false},
{launcherID: "RAGameGear", wantSetName: "RA_GameGear", wantSameDir: false},
{launcherID: "RANeoGeoCD", wantSetName: "RA_NeoGeoCD", wantSameDir: false},
{launcherID: "RASuperGameboy", wantSetName: "RA_SGB", wantSameDir: false},
{launcherID: "RATurboGrafx16CD", wantSetName: "RA_TurboGrafx16CD", wantSameDir: false},

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

Exercise the actual launcher wiring in the same-directory regression test.

These cases pass tc.wantSameDir directly into configureAltCoreWithDefaultSetName, so they only test that the helper stores a supplied value. They would still pass if a launcher were accidentally wired through the wrong helper. Assert the effective configuration from each CreateLaunchers entry (including set name, RBF path, and SetNameSameDir) or expose a pure launcher-configuration helper.

As per coding guidelines, **/*.go: Write tests for all new code — see TESTING.md and pkg/testing/README.md.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/platforms/mister/launchers_test.go` around lines 755 - 763, The
same-directory regression cases only verify helper input rather than actual
launcher wiring. Update the relevant test around CreateLaunchers to inspect each
generated launcher’s effective configuration, asserting set name, RBF path, and
SetNameSameDir; alternatively extract and test a pure launcher-configuration
helper while preserving the existing expected values.

Source: Coding guidelines

@codecov

codecov Bot commented Jul 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@wizzomafizzo
wizzomafizzo merged commit a5f4134 into main Jul 13, 2026
16 checks passed
@wizzomafizzo
wizzomafizzo deleted the feat/mister-ra-core-support branch July 13, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Zaparoo frontend and core on Mister fails to launch Gameboy Color games. Add N64 and PSX RA cores in the next core release.

1 participant