Skip to content

fhoedemakers/pico-peanutGB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

258 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PicoPeanutGB, a DMG Game Boy and Game Boy Color emulator for RP2350/Raspberry Pi Pico 2

This software is a port of Peanut-GB, a DMG and Game Boy Color emulator for RP2350 based microcontroller boards like the RaspberryPi Pico 2. Sound and video are ouput over HDMI. The code for HDMI output is based on Shuichi Takano's Pico-InfoNes project which in turn is based on PicoDVI.

Put your DMG Game Boy (.gb) or Game Boy Color (.gbc) rom files and optional metadata on a FAT32 or exFAT formatted SD card. You can organize the roms in directories. A menu is displayed on which you can select the rom to play.

Note

The emulator runs well on the Raspberry Pi Pico 2, but is too slow on the original Raspberry Pi Pico or other RP2040 based boards. Only releases for Pico 2 (RP2350) are available. Some Game Boy Color games have image and sound glitches.

System requirements - What do yo need?

Note

For detailed instructions and specific configurations, see the Pico-InfonesPlus sister project.

Hardware

A Raspberry Pi Pico 2 on a Pimoroni Pico DV Deno Base, or a Raspberry Pi Pico 2 on a breadboard or PCB. The emulator is too slow on the original Pico or other RP2040 based boards.

Other boards that can be used:

The binary specific for your config and optional PCB gerber files can be downloaded from the releases page.

Video

TODO

Gamepad and keyboard usage

Below the button mapping for different controllers. You can also use a USB-keyboard.

(S)NES Genesis XInput Dual Shock/Sense
Button1 B (*) A A X
Button2 A B B Circle
Select select Mode or C Select Select

It is not advised to use a NES controller because it lacks enough buttons.

(*) On SNES USB-controller press Y once to activate the B-button.

in menu

  • UP/DOWN: Next/previous item in the menu.
  • LEFT/RIGHT: next/previous page.
  • Button2 : Open folder/flash and start game.
  • Button1 : Back to parent folder.
  • START: Show metadata and box art (when available).
  • SELECT: Opens a setting menu. Here you can change settings like screen mode, scanlines, framerate display, menu colors and other board specific settings. Settings can also be changed in-game by pressing some button combinations as explained below. The settings menu can also be opened in-game.

Emulator (in game)

  • SELECT + START, Xbox button: opens the settings menu. From there, you can:
    • Quit the game and return to the SD card menu
    • Adjust settings and resume your game.
  • SELECT + UP/SELECT + DOWN: switches screen modes.
  • SELECT + Button1: When metadata pack is installed on SDcard: Toggle between default bezel, random bezel or themed bezel. (according to the selected rom)
  • START + Button1: When playing a DMG Game, toggle between green, color and greyscale palette.
  • START + Button2 : Toggle framerate display
  • Pimoroni Pico DV Demo Base only: SELECT + LEFT: Switch audio output to the connected speakers on the line-out jack of the Pimoroni Pico DV Demo Base. The speaker setting will be remembered when the emulator is restarted.
  • Fruit Jam Only
    • pushbutton 1 (on board): Mute audio of built-in speaker. Audio is still outputted to the audio jack.
    • SELECT + UP: Toggle scanlines.
    • pushbutton 2 (on board) or SELECT + RIGHT: Toggles the VU meter on or off. (NeoPixel LEDs light up in sync with the music rhythm)
  • Genesis Mini Controller: When using a Genesis Mini 3 button controller, press C for SELECT. On the 8-button Genesis controllers, MODE acts as SELECT.
  • USB-keyboard: When using an USB-Keyboard
    • Cursor keys: up, down, left, right
    • A: Select
    • S: Start
    • Z: Button1
    • X: Button2

Using metadata.

image

Download the metadata pack from the releases page It contains box art, game info and themed borders/bezels for many games. The metadata is used in the menu to show box art and game info when a rom is selected. When the screensaver is started, random box art is shown. When in-game, themed borders/bezels are shown around the game screen.

  • Download pack here.
    • Extract the zip contents to the root of the SD card.
    • In the menu:
      • Highlight a game and press START → show cover art and metadata.
      • Press SELECT → show full game description.
      • Press Button1 → return to menu.
      • Press START or Button2 → start the game.
    • In-game toggle between different border modes: SELECT + Button1
Super Gameboy Default Super Gameboy Random Game-Specific
image image image
  • In-game playing a DMG Game Boy game only. (Not Gameboy color). Toggle between Green, Color and greyscale palette: START + Button1
green color grayscale
image image image

Building from source

Use the bld.sh script to build the project. Build using Ubuntu Linux or WSL on Windows. See the Pico SDK installation instructions on how to set up the build environment.

Use ./bld.sh --h for options.

The resulting .uf2 file will be in the releases/ folder. Copy it to the Pico when in bootloader mode.

About

a DMG Game Boy and Game Boy Color emulator with SD card and menu support for RP2350 based microcontroller boards like the RaspberryPi Pico 2. Sound and video are ouput over HDMI

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages