Skip to content

feat(mister): add DualRAM alt launchers for 3DO, Jaguar, PSX, Saturn#711

Merged
wizzomafizzo merged 1 commit intomainfrom
feat/mister-dualram-launchers
Apr 19, 2026
Merged

feat(mister): add DualRAM alt launchers for 3DO, Jaguar, PSX, Saturn#711
wizzomafizzo merged 1 commit intomainfrom
feat/mister-dualram-launchers

Conversation

@wizzomafizzo
Copy link
Copy Markdown
Member

@wizzomafizzo wizzomafizzo commented Apr 19, 2026

  • Adds DualRAM3DO, DualRAMJaguar, DualRAMPSX, and DualRAMSaturn alt launchers targeting cores from the TheJesusFish/Dual-Ram-Console-Cores repo, which distributes dual-SDRAM builds into /media/fat/_Console (Dual SDRAM)/.
  • Each launcher uses launchAltCore with the path _Console (Dual SDRAM)/<Core> — the existing RBF cache picks up the folder automatically (any _-prefixed dir under /media/fat is scanned) and falls back to the canonical system core if the dual-ram RBF is absent.
  • No Folders/Extensions set; slot config is inherited from the canonical system launcher via cores.GetCore(systemID), matching the pattern used by LLAPI and PWM alt launchers.
  • Also picked up by MiSTeX automatically since it calls mister.CreateLaunchers.

Summary by CodeRabbit

Release Notes

  • New Features

    • Added support for dual SDRAM configurations on MiSTer for 3DO, Jaguar, PSX, and Saturn systems, enabling alternate core usage with expanded memory capacity.
  • Tests

    • Added validation tests for new dual RAM launcher configurations.

Adds four alt launchers targeting cores from the TheJesusFish/Dual-Ram-Console-Cores
repo, which distributes dual-SDRAM builds into /media/fat/_Console (Dual SDRAM)/.
Users can manually assign these as alt launchers for tokens once the folder is
present on their MiSTer.
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 19, 2026

📝 Walkthrough

Walkthrough

Four new MiSTer launcher definitions are added for DualRAM variants of 3DO, Jaguar, PSX, and Saturn systems. Each launcher registers an alternate core with its corresponding Dual SDRAM RBF path. A test validates the presence and correct SystemID associations of these new launchers.

Changes

Cohort / File(s) Summary
MiSTer DualRAM Launchers
pkg/platforms/mister/launchers.go
Added four new launcher definitions (DualRAM3DO, DualRAMJaguar, DualRAMPSX, DualRAMSaturn) using launchAltCore() helper to register alternate cores with "_Console (Dual SDRAM)" RBF paths for their respective systems.
Launcher Validation Test
pkg/platforms/mister/launchers_test.go
Added parallelized test TestDualRAMLaunchersExist asserting the presence of all four DualRAM launcher IDs and validating their correct SystemID associations.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Poem

🐰 Four new launchers hop into the fold,
DualRAM cores, brave and bold!
From 3DO to Saturn's gleaming stage,
Each one writes its glowing page.
The tests now smile—all friends accounted!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and specifically describes the main change: adding four new DualRAM alt launchers for MiSTer platforms, which matches the actual additions in the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ 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-dualram-launchers

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

@sentry
Copy link
Copy Markdown

sentry bot commented Apr 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
pkg/platforms/mister/launchers_test.go (1)

489-497: Prefer systemdefs constants instead of raw SystemID strings in the case table.

Using constants here improves refactor safety and keeps the test aligned with the launcher definitions.

♻️ Suggested update
 	cases := []struct {
 		id       string
 		systemID string
 	}{
-		{"DualRAM3DO", "3DO"},
-		{"DualRAMJaguar", "Jaguar"},
-		{"DualRAMPSX", "PSX"},
-		{"DualRAMSaturn", "Saturn"},
+		{"DualRAM3DO", systemdefs.System3DO},
+		{"DualRAMJaguar", systemdefs.SystemJaguar},
+		{"DualRAMPSX", systemdefs.SystemPSX},
+		{"DualRAMSaturn", systemdefs.SystemSaturn},
 	}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/platforms/mister/launchers_test.go` around lines 489 - 497, Update the
test table `cases` in launchers_test.go to use the `systemdefs` package
constants for the systemID field instead of raw string literals; replace the
"3DO", "Jaguar", "PSX", "Saturn" values with the corresponding `systemdefs`
constants (e.g., the constant names that represent those SystemID values) so the
`cases` slice uses `systemdefs.<Constant>` for each `systemID`, ensuring the
test stays refactor-safe and aligned with launcher definitions.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@pkg/platforms/mister/launchers_test.go`:
- Around line 489-497: Update the test table `cases` in launchers_test.go to use
the `systemdefs` package constants for the systemID field instead of raw string
literals; replace the "3DO", "Jaguar", "PSX", "Saturn" values with the
corresponding `systemdefs` constants (e.g., the constant names that represent
those SystemID values) so the `cases` slice uses `systemdefs.<Constant>` for
each `systemID`, ensuring the test stays refactor-safe and aligned with launcher
definitions.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 137801a0-4581-4806-98c4-49c3599d1f80

📥 Commits

Reviewing files that changed from the base of the PR and between dfc33a3 and e0f77b4.

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

@wizzomafizzo wizzomafizzo merged commit 080e53f into main Apr 19, 2026
12 checks passed
@wizzomafizzo wizzomafizzo deleted the feat/mister-dualram-launchers branch April 19, 2026 02:09
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.

1 participant