Repository navigation
NES, SNES and Game Boy v0.3
NES, SNES and Game Boy netplay for MiSTer v0.3
This release adds Game Boy link-cable netplay. Two MiSTers play Game Boy link-cable games together over the internet or a LAN, with the same lockstep as NES and SNES. NES and SNES netplay work as before.
Download: mister-netplay-v0.3.zip (check it against md5sums.txt). It contains:
SD card/: the NES, SNES and Game Boy 2P cores, the netplay Main binary, scripts and NetPongServer/: the lobby server for Windows, Linux and Raspberry Pi
New: Game Boy 2P
GAMEBOY2P_netplay.rbf: pomstazlesa's Game Boy 2P core (two Game Boys joined by a link cable inside the FPGA) with lockstep netplay. Each MiSTer runs both Game Boys. The host plays Game Boy 1, the other player Game Boy 2. Only the controller input goes over the network, so the link cable's timing is the same as on one MiSTer.- Link-cable games such as Tetris, Tennis and Dr. Mario.
- One game for both: both players load the same file (same extension too:
.gband.gbcstart the Game Boy in different modes). - Two different games (for example two Pokémon versions): load game 1 with Rom for second GB Off, then switch it On and load game 2.
- One game for both: both players load the same file (same extension too:
- Show → My screen shows only your own Game Boy, centred at the right aspect ratio. Audio select → Own GB (the default) plays your own Game Boy's sound.
- Both Game Boys run on one shared clock, and the SDRAM serves both from one read when they read the same word, so the core runs at full speed with clean sound.
- The Game Boys' RAM and the cartridge clock (MBC3, HuC3, TAMA) are cleared at the start of a session, so a MiSTer that ran other games before starts like a freshly loaded one.
- Same lobby as NES and SNES: OSD → Netplay → Host in GAMEBOY2P_netplay. The other player joins from _Netplay/Rooms; a room with two games holds both files. The server's Game Boy games go in
roms/GB. - Battery saves work as on NES: both players need the same
.savfile, or none. - Not supported: MegaDuck games (
.bin). During netplay, OSD reset, Reload Backup RAM and Sync Video are off. Needs the SDRAM board, as the original core.
Tested:
- On hardware: a Tetris link match between two MiSTers through the lobby server; Tennis with clean sound at full speed.
- In simulation: two MiSTers stay in sync over 1,800 frames of a Tetris link match, and also when one of them ran another game first.
Other changes
- The lobby folder is now created on a MiSTer that has no games folder for the core yet.
Good to know
- Put your Game Boy games in
games/GAMEBOY2P(.gb,.gbc). - To switch between the netplay cores (NES, SNES, Game Boy 2P), reboot from the MiSTer's menu first.
- Both players need the same release. Otherwise netplay shows
Different core build. - If the players are in different netplay cores, netplay shows
The other player runs another console.
Upgrading from v0.2
- Copy the new
SD cardfolder onto both MiSTers. - Run Scripts → netplay_on again.
- Replace the server's binary.
netplay.ini and netplay-server.ini stay as they are.
Source: this repository at tag v0.3. ./setup.sh applies the patches to the upstream NES_MiSTer, SNES_MiSTer, Gameboy2PUW_MiSTer and Main_MiSTer.