This is an old revision of the document!


Nintendo Game Boy Color - 2-Player

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.

shortname gbc2players
emulator/core(s) libretro/tgbdual
rom format(s) .gbc .zip .7z

TGB Dual is an open source (GPLv2) GB/GBC emulator with game link cable support.

We use the latest libretro core. See the official documentation for more information.

Check the list of multiplayer Game Boy games to find compatible games.

While writing this I realised I had no idea what the hell is happening so I need to do some testing/asking around to confirm everything below.

You can use one of two methods:

Place your Game Boy Color ROMs in /userdata/roms/gbc2players/. This will use a single save file between the linked games, unique to this system. This is the only option on Batocera v31 and lower.

In Batocera v32 and higher, it is possible to use two different ROMs instead. This can be used to say trade Pokemon between save files. You can utilize a “playlist” to essentially tell TGB Dual to load ROMs from two different paths.

  1. Copy your ROMs to roms/gb2player/ or roms/gbc2player/ depending on which portable system you're using. Most Game Boy games could be played on the Game Boy Color, but only certain Game Boy Color games could be played on the original Game Boy.
    • Alternatively, you could keep your ROMs in their respective gb/ or gbc/ ROM subfolders, but this requires a few differences in the next few steps. This will be noted.
  2. Create a new text file with one line containing the filename for each ROM you'd like to load. The first line will be player 1 and the second line will be player 2. For example:
    Pokemon Yellow and Pokemon Crystal.gbc2
    Pokemon Yellow.zip
    Pokemon Crystal.zip
    • If you opted to keep the ROMs in their respective gb/ or gbc/ subfolders, you would instead prepend gb: or gbc: to those filenames. For example:
      Pokemon Yellow and Pokemon Crystal.gbc2
      gb:Pokemon Yellow.zip
      gbc:Pokemon Crystal.zip
  3. Save this file to the roms/gb2player/<game combination name>.gb2 or roms/gbc2player/<game combination name>.gbc2 based on the minimum required system for the game. In this example, either roms/gb2player/Pokemon Yellow and Pokemon Crystal.gb2 or roms/gbc2player/Pokemon Yellow and Pokemon Crystal.gbc2 would be fine, depending on if you wanted to play on the original Game Boy or Game Boy Color portable system.

    If you're unsure, it's generally best to use roms/gbc2player/ as Game Boy Color could run most Game Boy games.

  4. In Batocera, update your game list and a new “GB2Player” or “GBC2Player” system will appear. Launch your game from there.
  5. Hell yeah Pokemon trading! LOL

If you've opted to copy the ROMs to the roms/gb2player or roms/gbc2player subfolders this is what your final file structure should look like:

roms/
└─ gbc2players/
   ├─ Pokemon Crystal.gbc
   ├─ Pokemon Yellow.gb
   └─ Pokemon Yellow and Pokemon Crystal.gbc2

If you've opted to instead keep the ROMs in their original system subfolders roms/gb or roms/gbc, this is what your final file structure should look like:

roms/
├─ gb/
│  └─ Pokemon Yellow.zip
├─ gbc/
│  └─ Pokemon Crystal.zip
└─ gbc2players/
   └─ Pokemon Yellow and Pokemon Crystal.gbc2

This needs to be rewritten after investigating just what the hell is happening here.

For save syncing:

By default, it will be OFF to prevent overwriting any saves that may be wanted. It can be turned on per-game or per-system. At launch, it will determine where the single player save should be. First priority will be if the game was set using gb: or gbc:, second will be if it's running in gb2player or gbc2player. If a save file exists in /save/gb or /save/gbc, it will copy it to the 2 player save folder (overwriting existing saves). It will generate a script to run on game exit to copy the 2 player save file back over the single player ones. The script will only process if called by gb2player/gbc2player, and deletes itself after completion. It only copies the battery SRAM, not save states.

The combined changes will allow doing things like playing the Pokemon games single player, then trading between games.

The default button mapping to the Game Boy Color is as following:

  • systems/gbc2players.1632979817.txt.gz
  • Last modified: 5 years ago
  • by atari