Skip to content

feat: netplay support#757

Open
mohammadsyuhada wants to merge 2 commits into
LoveRetro:mainfrom
mohammadsyuhada:netplay-upstream
Open

feat: netplay support#757
mohammadsyuhada wants to merge 2 commits into
LoveRetro:mainfrom
mohammadsyuhada:netplay-upstream

Conversation

@mohammadsyuhada

Copy link
Copy Markdown

Adds local two-player multiplayer to Minarch over WiFi — either over an existing network or an on-device hotspot (no router needed). A single in-game Netplay menu auto-selects the right link type for the loaded core.

What's included

  • Netplay — RetroArch-style frame-synced input (input-latency buffering, stall handling) for frame-sync capable cores.
  • GBA Link (gpSP) — bridges gpSP's RFU/Wireless Adapter to the network via the libretro netpacket interface (Pokémon trade, Union Room battles, etc.).
  • GB Link (gambatte) — drives gambatte's built-in network serial via core options.

Key changes

  • New Netplay menu item, shown only when the core supports a link type; Save/Load State blocked during a session.
  • Core capability detection in Core_load + handling of RETRO_ENVIRONMENT_SET_NETPACKET_INTERFACE.
  • UDP host discovery; WiFi creds saved/restored around hotspot sessions.
  • New WiFi platform API: PLAT_wifiForgetPrefix / wifiEnableAll / wifiSelectOnly.
  • gpSP patches (RFU disconnect fix + larger packet queue) — gpSP now pinned via gpsp_HASH.
  • gambatte: HAVE_NETWORK=1 for ARM.

@johnnyq

johnnyq commented Jun 15, 2026

Copy link
Copy Markdown

This is the missing piece thank you for this PR @mohammadsyuhada

Also can we get retro send as well as a Pull request

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