Skip to content

libretro gameboy core with up to 16 players support and buildtin Pokemon Distribution Events - hardfork from tgbdual-libretro

License

Notifications You must be signed in to change notification settings

TimOelrichs/doublecherryGB-libretro

 
 

Repository files navigation

DoubleCherryGB

author: Tim Oelrichs
email: timoelrichs@gmail.com

DoubleCherryGB is an open source (GPLv3) GB/GBC emulator with up to 16 Player support, based on the TGBDual libretro core by GIGO and Hii. It emulates the GAMEBOY 4 PLAYER ADAPTER (DMG-07) and also adds 3-16 Player Link Hacks for two-player games. It's named after the Double Cherry Item from Super Mario 3D World.


Features

Pokemon Stuff

Multiplayer

  • GAMEBOY 4 PLAYER ADAPTER (DMG-07) emulation (F1-Race, Wave Race, Yoshi's Cookie...)

  • up to 16-Player Faceball 2000 emulation (1-15 without bugfix-patch, 16 players needs patched rom)

  • up to 16-Player Tetris Battle Royal Hack (virtual link device, no modified rom needed)

  • up to 16-Player Kwirk Multiplayer Hack (virtual link device, no modified rom needed)

  • up to 16 Player 4x4Player Adapter

  • Of course up to 16 Player Singleplayer for speedrun-battles or if you have arguing kids :D

  • local splitscreen

  • netplay support


Gameboy Peripherals Emulation

  • Gameboy Printer Emulation with PNG-Print and DIN A4, DIN A5, DIN A6 upscale
  • Gameboy 4 Player Adapter (DMG-07)
  • TV REMOTE Emulation
  • BARCODE BOY Emulation full support (all barcodes are hardcoded, use the numkeys 0-9 for selection)
  • BARCODE TAISEN BARDIGUN Emulation full Support (all barcodes are hardcoded, use the numkeys 0-8 for selection)
  • POWER ANTENNA/BUGSENSOR Emulation (LED via led driver overlay & controller rumble on led flash)

unreleased Gameboy Peripherals Emulation


custom Linkcable Peripherals

  • Multiplayer Hacks
  • PKMBuddy Boy
  • LinkcableHub, auto switching peripherals for Games that support multiple Linkcable Devices (GB Printer, Linkcable, etc.)

Retroarch-Features

  • Retroarchivments support
  • Netplay

How to

You can download the core via RetroArch Online-Updater on Windows, Linux, Android and IOS. For Android make sure to use the retroarch APK from retroarch.com and not the GooglePlay Version.

For Multiplayer you have to increase the amount of emulated Gameboy in the core options in your frontend and reload.


Builtin Mew and Celebi Maschine and weekly GEN1 Pokemon Distributions

DoubleCherryGB has a buildin virtual linkcable device that can trade Pokemon. I called it the PKMBuddy Boy.

  • If you don't own a Mew it will trade you a Lv 5 Mew.
  • If you already own a Mew it will give you weekly Pokemon Distribution Events with a choice of different Pokemon. See table below.
  • You can also use this to trade pokemon back for trading evolutions.

You can uses the Numkeys on your keyboard or the SELECT Button to change Pokemon you want to get.

It's already preconfigured. Leave emulated Gameboys at 1 and just visit the cable club ingame.

Weekly Gen1 Pokemon Distribution List https://docs.google.com/spreadsheets/d/1SMcpTz_4Mwo1eVAKWB3AbaLHJNthkB5sKHlOPnQw2UI/edit?gid=0#gid=0


Link Cable Trading over network

Easy gen1/gen2 pokemon online trading

Why is this easier? No setup and no workarounds. No need to own the same roms (region, edition). Should work cross platform. You can find trading partners over the netplay lobby (netplay -> refresh Host List), and can use the netplay text-chat by pressing ^ on your keyboard. Also works in LAN.

I recommend to use the RetroArch Discord server to find players and use voice-chats.

Atleast Retroarch 1.17 is needed for the netpacket api. Only the linkcable data is transfered over network, so you won't see the others player's screen.

  • make sure emulated gameboys is set to 1 in the Core Options
  • load your rom
  • start or join a netplay (a second player can join any time)

The netpacket api is activated when you set emulated gameboys to 1. This is only meant for trading purposes and may be too slow for actual Multiplayer. For Multiplayer-sessions please set the amount of emulated gameboys to 2 or higher, because this will activate the old savestate sync for lagfree netplay.

Trading should work with other GB/GBC Games as well:

  • Pokemon R/B/Y/S/G/C
  • Pokemon Trading Card Game 1 and 2
  • RoboPon Sun/Star
  • Medarot 1/2/3 Kabuto/Kuwagata/Parts Collection
  • Telefang Speed/Power
  • Network Adventure Bugsite Alpha/Beta
  • Dragon Warrior (Quest) Monster
  • Dragon Warrior (Quest) Monster 2 Tara's Adventure / Cobi's Journey
  • Monster Rancher Battle Card Game
  • Zelda OoA / OoS ring trade
  • ...

Infrared over network is currently not supported (GBE+ does) but maybe in a future release.

Have fun!


4-Player Adapter Emulation

Netplay is working. Make sure to have all the same amount of emulated gameboys in your core options.

compatibility list

Unreleased Alleyway Analog Controller

This was a planned but never released peripheral, and to my knowledge, it's only known today because the game constantly polls the serial port. It turns out that the game can be controlled via the link port when it receives correctly formatted data. I've implemented several control styles — you can press SELECT to toggle between them:

  • Right analog stick — should even work with a steering wheel! 😄
  • Mouse control
  • Touchscreen controls

Thanks to Jarhmander and lidnariq for figuring this out. See: https://forums.nesdev.org/viewtopic.php?t=18348


TV REMOTE

The GBC has a IR receicer and some games used this to unlock cotent with a TV REMOTE. You can choose between 4 different JVC TV-Remotes. Use SELECT to switch between the Remotes and use the Numpad to press a button. If you are playing on a handheld you can activate the "autorandom IR Signal" in the Core options.

  • Robopon Sun (HUC3) - works
  • Bomberman MAX Blue/RED - works
  • Bomberman Daman Bakugaiden V - Final Mega Tune - works
  • Doraemon Memories - Nobita no Omoide Daibouken - not working

BARCODE BOY

The BARCODE BOY is a japan exclusive peripheral (See https://shonumi.github.io/articles/art7.html).

The following games have support or even need the BARCODE BOY to be played:

  • BATTLE SPACE (needed)
  • Monster Maker Barcode Saga (needed)
  • Kattobi Road (additional content)
  • Family Jockey 2 (additional content)
  • Famista 3 (additional content)

All Barcode Cards are hardcoded. You can select different cards with the Numkeys 0-9. If you don't have a keyboard, the the barcode cards will be changed randomly.


BARCODE TAISEN BARDIGUN

A japan exclusive GBC game that came with Barcode Reader(See https://shonumi.github.io/articles/art6.html).

All Barcode Cards are hardcoded. You can select different cards with the Numkeys 0-8 or use the SELECT Button.


POWER ANTENNA and BUGSENSOR

These are devices, that came with the games Keitai Denjuu Telefang and Network Adventure Bugsite and are plugged into the linkport. It's simply a led that flashes when, something special happens ingame. DoubleCherryGB uses the controller rumble and the retroarch led api to simulate the led flashing on an overlay.

Here is the example overlay i used over the mega-bezels gbc shader. But you can also make your own.

You need to edit your retroarch.cfg file the get the overlay to work. (See https://docs.libretro.com/guides/led-drivers/)

led_driver = "overlay"
led1_map = "1"


Support DoubleCherryGB

I have tons of ideas—but not nearly enough time to bring them all to life. Your support helps me dedicate more time to development and make DoubleCherry the cherry on top of your retro gaming experience 🍒

https://patreon.com/double_cherry_projects
https://www.buymeacoffee.com/timoelrichs

Thanks to

  • Shonumi for doing the research and technical documentation for Gameboy and many peripherals/accessories/add-ons https://shonumi.github.io/index.html
  • PSYRaven for the netpacket api and davidgf for his implemtation on gpSP
  • Ninoh-Fox for his work on Koriki cfw
  • GIGO and Hii for making TGBDual and the libretro port

Original sources from

License

This project is licensed under the GNU General Public License v3.0.
See the LICENSE file for details.

About

libretro gameboy core with up to 16 players support and buildtin Pokemon Distribution Events - hardfork from tgbdual-libretro

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages

  • C++ 56.8%
  • C 40.4%
  • Makefile 2.1%
  • Other 0.7%