Skip to content

feat(player): add genesis_plus_gx_wide, bsnes, freeintv, azahar EJS cores#3454

Merged
gantoine merged 3 commits into
masterfrom
feat/emulatorjs-new-cores
May 31, 2026
Merged

feat(player): add genesis_plus_gx_wide, bsnes, freeintv, azahar EJS cores#3454
gantoine merged 3 commits into
masterfrom
feat/emulatorjs-new-cores

Conversation

@gantoine
Copy link
Copy Markdown
Member

@gantoine gantoine commented May 30, 2026

Summary

Adds four newly-supported EmulatorJS cores to the player's core map (frontend/src/utils/index.ts):

  • genesis_plus_gx_wide — widescreen Genesis Plus GX, added alongside genesis_plus_gx for all Sega MD/Genesis, Master System, Game Gear, and Sega CD platforms
  • bsnes — added alongside snes9x for all SNES/Super Famicom platforms
  • freeintv — added for Intellivision (new entry)
  • azahar — added for Nintendo 3DS (3ds, new-nintendo-3ds; new entries) and registered in areThreadsRequiredForEJSCore since 3DS emulation needs SharedArrayBuffer/threads

Core-to-system mappings and the threads requirement were confirmed against the EmulatorJS source (data/src/consts.js).

Test plan

  • Load an Intellivision ROM and confirm freeintv is offered/loads
  • Load a 3DS ROM and confirm azahar is offered (requires COOP/COEP headers for threads)
  • Confirm genesis_plus_gx_wide appears as an option for Sega systems
  • Confirm bsnes appears as an option for SNES titles

🤖 Generated with Claude Code

gantoine and others added 2 commits May 30, 2026 04:30
…ores

- genesis_plus_gx_wide added alongside genesis_plus_gx for all Sega
  MD/MS/GG/CD platforms
- bsnes added alongside snes9x for SNES platforms
- freeintv added for Intellivision
- azahar added for Nintendo 3DS (3ds, new-nintendo-3ds) and marked as
  requiring threads

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gantoine gantoine marked this pull request as ready for review May 31, 2026 01:10
Copilot AI review requested due to automatic review settings May 31, 2026 01:10
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds EmulatorJS nightly core support to the player core selection flow, so supported platforms can expose newer cores when the existing netplay/nightly configuration is enabled.

Changes:

  • Adds a nightly-only EJS core map with azahar, freeintv, bsnes, and genesis_plus_gx_wide.
  • Passes EJS_NETPLAY_ENABLED through player and console call sites to select the expanded core map.
  • Marks azahar as requiring EJS threads and updates TS/JS config resolution settings.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
frontend/src/utils/index.ts Adds nightly core mappings, updates supported-core lookup, and adds azahar to threaded cores.
frontend/src/views/Player/EmulatorJS/Player.vue Uses the config flag when selecting the EJS core.
frontend/src/views/Player/EmulatorJS/Base.vue Uses the config flag when listing selectable EJS cores.
frontend/src/console/views/Play.vue Uses the config flag when selecting the console EJS core.
frontend/src/console/views/Game.vue Uses the config flag when checking console player support.
frontend/tsconfig.json Removes baseUrl from TypeScript config.
frontend/jsconfig.json Updates JS compiler resolution/target settings.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread frontend/src/utils/index.ts
@gantoine gantoine merged commit 2137adc into master May 31, 2026
9 checks passed
@gantoine gantoine deleted the feat/emulatorjs-new-cores branch May 31, 2026 01:58
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.

2 participants