Show pageOld revisionsBacklinksExport to PDFBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. <WRAP group> <WRAP round box twothirds column> {{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/logos/gb2players.svg?nolink&360 }} ====== Nintendo Game Boy (2 Players) ====== The link cable for the Game Boy allows two people to play two-player games. The requirement is that both players insert the same Game Pak into their Game Boy, and the Game Pak must feature a two-player mode (the packaging of these games is marked with the appropriate symbol). The link cable is connected to the left side of Game Boy through the sockets especially provided for it. This system scrapes metadata for the "gb" group(s) and loads the ''gb2players'' set from the currently selected theme, if available. </WRAP> <WRAP third column> {{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/consoles/gb2players.png?nolink&350 |}} </WRAP> </WRAP> ==== Quick reference ==== * **Emulator:** [[#retroarch|RetroArch]] * **Core:** [[#libretro:_tgbdual|libretro: TGBDual]] * **Folder:** ''/userdata/roms/gb2players'' * **Accepted ROM formats:** ''.gb'', ''.gb2'', ''.gbc2'', ''.zip'', ''.7z'' ===== BIOS ===== No Game Boy (2 players) emulator in Batocera needs a BIOS file to run. ===== ROMs ===== <WRAP center round tip> Check the [[wp>List_of_multiplayer_Game_Boy_games|list of multiplayer Game Boy games]] to find compatible games. </WRAP> {{ :systems:gb2players.jpg?nolink&400 |}} ROMs can ordinarily be put into the ''roms/gb2players/'' folder. This will use a single ROM for both players in the linked game instances (Player 1's saves are stored in ''saves/gb2player''). Player 2 will use a temporary blank save file that is removed when the session ends. Great for PVP games that don't rely on user save files such as Tetris or Ikari no Yousai. This is the only available way to use GB2Player on Batocera **v31** and lower. <WRAP center round tip> You can copy over your save file from ''saves/gb/'' to ''saves/gb2player/'' to continue from where you left off in single player! Alternatively, you can turn on **[[#save_syncing|SYNC SAVE FILES]]** to do this automatically. </WRAP> If instead you'd like to use two //different// ROMs, read [[#using_two_different_ROMs|the section on it below]]. ==== Using two different ROMs ==== Alternative title: **POKEMON, YEAH! POKEMON TIME CAPSULE! POKEMON TRADING! POKEMON BATTLING! AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA POKEMON!!!** In Batocera **v32** and higher, it is possible to use two different ROMs instead. - Copy your Game Boy/Game Boy Color ROMs to their respective solo ROM directory, ie. ''roms/gb'' and ''roms/gbc'' respectively. For example: <code> roms/ ├─ gb/ │ └─ Pokemon Yellow.zip └─ gbc/ └─ Pokemon Crystal.zip </code> - Create a new text file named ''<game 1 title> and <game 2 title>.gb2'' containing the filenames of the games you intend to link play with prepended with ''gb:'' or ''gbc:'' depending on which folder they're stored in. For example: <code - Pokemon Yellow and Pokemon Crystal.gb2> gb:Pokemon Yellow.zip gbc:Pokemon Crystal.zip </code><WRAP center round important> Class A (Dual Mode) Game Boy Color games can be played on the Game Boy (obviously without color); these were typically indicated by having a black cartridge to differentiate them from regular Game Boy games. Class B Game Boy Color games can't be played on the original Game Boy. Such games typically feature the disclaimers like "Only for Game Boy Color". **Libretro/TGB Dual doesn't care**, and will run either game with its appropriate system. Check first before attempting this, Game Boy Color games will default to using the [[systems:gbc2players|Game Boy Color mode of the emulator]]! You can check out which games are class A on [[wp>List_of_Game_Boy_Color_games|Wikipedia's list of Game Boy Color games]]. </WRAP> - Save this text file to the ''roms/gb2player/'' directory. For example: <code> roms/ ├─ gb/ │ └─ Pokemon Yellow.zip ├─ gbc/ │ └─ Pokemon Crystal.zip └─ gb2players/ └─ Pokemon Yellow and Pokemon Crystal.gb2 </code> - Update your game list and now your game will appear in the GB2Player system! By default, the save files are grabbed from ''saves/gb2players/<game name for player 1>.srm'' and ''saves/gb2players/<game name for player 2>.srm'' for the different games respectively. This can be used for a quick and dirty way to say trade Pokemon between generations. But what if you wanted this to all be //[[#save_syncing|automated]]//? ==== Save syncing ==== In Batocera **v32** and higher, it is possible to use two different ROMs from their single-player Game Boy and/or Game Boy Color systems with their respective single-player save file locations instead. This utilizes Python scripts to automate the copying/overwriting process between ''saves/gb2players/'' and ''saves/gb'' and/or ''saves/gbc''. <WRAP center round important> You should create a backup of your GB2Player save files before attempting this, as they will otherwise be overwritten. </WRAP> - Set up your unique ROMs as [[#using_two_different_roms|detailed above]]. - On the GB2Player game list, press ''[SELECT]'' to bring up the system-specific options and navigate to **ADVANCED SYSTEM OPTIONS**. - Scroll down to **SYNC SAVE FILES** and set this to "ON". {{ blog:gb2player_save_sync.jpg?nolink&500 |Instructions to get to this menu above. Never forget about your saves again!}} When launching a game through the GB2Player system, the SRM save files for both the ROMs will be temporarily copied from their respective ''saves/gb/'' and/or ''saves/gbc/'' folder(s) to ''saves/gb2player/'' (overwriting any files currently there). Upon exiting the game, the saves will be copied back from ''saves/gb2player'' to their respective ''saves/gb/'' and/or ''saves/gbc/'' folder(s). Save states are not copied, only SRM native save files. <WRAP center round important> There is currently no automated save file syncing via Netplay. You could use an external method to sync up the save files and do this, however. </WRAP> ==== Flowchart of save file handling ==== In case any of that was confusing here's a professional grade flowchart visualizing what happens based on what configuration/source ROMs are used: {{:systems:gb2player_save_flowchart.png?direct&1000|Flowchart of all four possible outcomes.}} <WRAP center round help> If you use a .gb2 playlist that calls the same ROM twice, the file that's ultimately saved will be from Player 2! </WRAP> ===== Emulators ===== ==== RetroArch ==== [[https://docs.libretro.com/|RetroArch]] (formerly SSNES), is a ubiquitous frontend that can run multiple "cores", which are essentially the emulators themselves. The most common cores use the [[https://www.libretro.com/|libretro]] API, so that's why cores run in RetroArch in Batocera are referred to as "libretro: (core name)". RetroArch aims to unify the feature set of all libretro cores and offer a universal, familiar interface independent of platform. === RetroArch configuration === RetroArch offers a **Quick Menu** accessed by pressing ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} which can be used to alter various things like [[:advanced_retroarch_settings|RetroArch and core options]], and [[:remapping_controls_per_emulator|controller mapping]]. Most RetroArch related settings can be altered from Batocera's EmulationStation. Standardized features available to all libretro cores: ''gb2players.videomode'', ''gb2players.ratio'', ''gb2players.smooth'', ''gb2players.shaders'', ''gb2players.pixel_perfect'', ''gb2players.decoration'', ''gb2players.game_translation'' ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^ ^ Settings that apply to all cores of this emulator || | **GRAPHICS BACKEND ''gb2players.gfxbackend''** | Choose your graphics rendering\\ => OpenGL ''opengl'', Vulkan ''vulkan''. | | **AUDIO LATENCY ''gb2players.audio_latency''** | Audio latency in milliseconds, turn it up if you hear crackles\\ => 256 ''256'', 192 ''192'', 128 ''128'', 64 ''64'', 32 ''32'', 16 ''16'', 8 ''8''. | | **THREADED VIDEO ''gb2players.video_threaded''** | Improves performance at the cost of latency and more video stuttering. Use only if full speed cannot be obtained otherwise.\\ => On ''true'', Off ''false''. | === libretro: TGBDual ==== TGB Dual is an open source (GPLv2) GB/GBC emulator with game link cable support. We use the latest [[https://github.com/libretro/tgbdual-libretro|Libretro]] core. See the [[https://docs.libretro.com/library/tgb_dual/|official documentation]] for more information. == libretro: TGBDual configuration == ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^ ^ Settings that apply to all systems this core supports || | **SYNC SAVE FILES ''global.sync_saves''** | Sync 2 player saves with single player versions (default is off)\\ => On ''1'', Off ''0''. | ===== Controls ===== Here are the default Game Boy (2 players)'s controls shown on a [[:configure_a_controller|Batocera Retropad]]: {{ https://raw.githubusercontent.com/batocera-linux/batocera-controller-overlays/master/solid-4k/gb2players.png }} ===== Troubleshooting ===== ==== Further troubleshooting ==== For further troubleshooting, refer to the [[:support|generic support pages]]. systems/gb2players.txt Last modified: 23 months agoby atari