Skip to content

Releases: fhoedemakers/pico-infonesPlus

v0.35

04 Jan 16:19
2591984

Choose a tag to compare

CHANGELOG

General Info

Binaries for each configuration and PCB design are at the end of this page.

Click here for tested configurations.

See setup section in readme how to install and wire up

v0.35 release notes

Fixes

  • The -s option (PSRAM cs pin) is removed from pico_shared/bld.sh script as it caused issues with the PSRAM settings in pico_shared/BoardConfigs.cmake. The PSRAM CS pin must be set correctly in pico_shared/BoardConfigs.cmake. (default is 47)
  • Murmulator M1 and M2 fixes #165:
    • Second NES controller now works.
    • PS_RAM setting fixed for M2 board.
    • PS_RAM setting added for M1 board.

v0.34 release notes

  • Implemented savestates #140

    • Up to 5 manual save state slots per game, accessible via the in-game menu (SELECT + START).
    • In-game quick savestate Save/Restore via (START + DOWN) and (START + UP).
    • Auto Save can be enabled per game, which allows to save the current state when exiting to the menu. When the game is launched, player can choose to restore that state.

    When loading a state, the game mostly resumes paused. Press START to continue playing.

    Save States should work for mapper 0,1,2,3 and 4. Other mappers may or may not work. Below the games that use these mappers.

    The mapper number is also shown in the Save State screen.

  • Added support for Murmulator M1 and M2 boards. @javavi #150

    • M1: RP2040/RP2350
    • M2: RP2350 only
  • Fruit Jam only: Add volume controls to settings menu. Can also be changed in-game via (START + LEFT/RIGHT). Note that too high volume levels may cause distortion. (Ext speaker, advised 16 db max, internal advised 18 dB max). Latest metadata package includes a sample.wav file to test the volume level.

  • Updated PicoNesMetaData.zip: Added sample.wav. This sample will be played when using the Fruit Jam volume control in the settings menu. Note when /soundrecorder.wav is found, this file will be played in stead.

  • RP2350 only: Updated the menu to also list .wav audio files.

  • RP2350 Only: Added basic wav audio playback from within the menu. Press BUTTON2 or START to play the wav file. Tested with https://lonepeakmusic.itch.io/retro-midi-music-pack-1 The wav file must have the following specs:

    • 16/24 bit PCM wav files only. (24 bit files are downsampled to 16 bit)
    • 2ch stereo only.
    • Sample rate supported: 44100.
  • RP2350 with PSRAM only: Record about 30 seconds of audio by pressing START to pause the game and then START + BUTTON1. Audio is recorded to /soundrecorder.wav on the SD-card.

Fixes

  • Fruit Jam audio fixes.
  • Settings changed by in-game button combos are saved when exiting to menu.
  • DVI audio volume was somewhat too low, fixed. #146

previous changes

See HISTORY.md

Downloads by configuration

Binaries for each configuration are listed below. Binaries for Pico(2) also work for Pico(2)-w. No blinking led however on the -w boards.
For some configurations risc-v binaries are available. It is recommended however to use the arm binaries.

Note

No dedicated binaries are provided for the Pico w or Pico 2w. Instead, use the Pico or Pico 2 binaries. Enabling the LED on these boards causes too many issues. #136

Standalone boards

Board Binary Readme
Adafruit Metro RP2350 piconesPlus_AdafruitMetroRP2350_arm.uf2 Readme
Adafruit Fruit Jam piconesPlus_AdafruitFruitJam_arm_piousb.uf2 Readme
Waveshare RP2040-PiZero piconesPlus_WaveShareRP2040PiZero_arm.uf2 Readme 3-D Printed case
Waveshare RP2350-PiZero piconesPlus_WaveShareRP2350PiZero_arm_piousb.uf2 Readme 3-D Printed case

Breadboard

Board Binary Readme
Pico piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico W piconesPlus_AdafruitDVISD_pico_w_arm.uf2 Readme
Pico 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme
Pico 2 W piconesPlus_AdafruitDVISD_pico2_w_arm.uf2 Readme
Adafruit feather rp2040 DVI piconesPlus_AdafruitFeatherDVI_arm.uf2 Readme
Pimoroni Pico Plus 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme

PCB Pico/Pico2

Board Binary Readme
Pico piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico W piconesPlus_AdafruitDVISD_pico_w_arm.uf2 Readme
Pico 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme
Pico 2 W piconesPlus_AdafruitDVISD_pico2_w_arm.uf2 Readme

PCB pico_nesPCB_v2.1.zip

3D-printed case designs for PCB:

https://www.thingiverse.com/thing:6689537.
For the latest two player PCB 2.0, you need:

  • Top_v2.0_with_Bootsel_Button.stl. This allows for software upgrades without removing the cover. (*)
  • Base_v2.0.stl
  • Power_Switch.stl.
    (*) in case you don't want to access the bootsel button on the Pico, you can choose Top_v2.0.stl

PCB WS2XX0-Zero (PCB required)

Board Binary Readme
Waveshare RP2040-Zero piconesPlus_WaveShareRP2040ZeroWithPCB_arm.uf2 Readme
Waveshare RP2350-Zero piconesPlus_WaveShareRP2350ZeroWithPCB_arm.uf2 Readme

PCB: Gerber_PicoNES_Mini_PCB_v2.0.zip

3D-printed case designs for PCB WS2XX0-Zero:
https://www.thingiverse.com/thing:7041536

PCB Waveshare RP2350-USBA with PCB

Binary

PCB: Gerber_PicoNES_Micro_v1.2.zip

Readme

Build guide

Pimoroni Pico DV

Board Binary Readme
Pico/Pico w [piconesPlus_PimoroniDVI_pico_arm.uf2](https://...
Read more

v0.34

24 Dec 13:23
58863f8

Choose a tag to compare

CHANGELOG

General Info

Binaries for each configuration and PCB design are at the end of this page.

Click here for tested configurations.

See setup section in readme how to install and wire up

v0.34 release notes

  • Implemented savestates #140

    • Up to 5 manual save state slots per game, accessible via the in-game menu (SELECT + START).
    • In-game quick savestate Save/Restore via (START + DOWN) and (START + UP).
    • Auto Save can be enabled per game, which allows to save the current state when exiting to the menu. When the game is launched, player can choose to restore that state.

    When loading a state, the game mostly resumes paused. Press START to continue playing.

    Save States should work for mapper 0,1,2,3 and 4. Other mappers may or may not work. Below the games that use these mappers.

    The mapper number is also shown in the Save State screen.

  • Added support for Murmulator M1 and M2 boards. @javavi #150

    • M1: RP2040/RP2350
    • M2: RP2350 only
  • Fruit Jam only: Add volume controls to settings menu. Can also be changed in-game via (START + LEFT/RIGHT). Note that too high volume levels may cause distortion. (Ext speaker, advised 16 db max, internal advised 18 dB max). Latest metadata package includes a sample.wav file to test the volume level.

  • Updated PicoNesMetaData.zip: Added sample.wav. This sample will be played when using the Fruit Jam volume control in the settings menu. Note when /soundrecorder.wav is found, this file will be played in stead.

  • RP2350 only: Updated the menu to also list .wav audio files.

  • RP2350 Only: Added basic wav audio playback from within the menu. Press BUTTON2 or START to play the wav file. Tested with https://lonepeakmusic.itch.io/retro-midi-music-pack-1 The wav file must have the following specs:

    • 16/24 bit PCM wav files only. (24 bit files are downsampled to 16 bit)
    • 2ch stereo only.
    • Sample rate supported: 44100.
  • RP2350 with PSRAM only: Record about 30 seconds of audio by pressing START to pause the game and then START + BUTTON1. Audio is recorded to /soundrecorder.wav on the SD-card.

Fixes

  • Fruit Jam audio fixes.
  • Settings changed by in-game button combos are saved when exiting to menu.
  • DVI audio volume was somewhat too low, fixed. #146

previous changes

See HISTORY.md

Downloads by configuration

Binaries for each configuration are listed below. Binaries for Pico(2) also work for Pico(2)-w. No blinking led however on the -w boards.
For some configurations risc-v binaries are available. It is recommended however to use the arm binaries.

Note

No dedicated binaries are provided for the Pico w or Pico 2w. Instead, use the Pico or Pico 2 binaries. Enabling the LED on these boards causes too many issues. #136

Standalone boards

Board Binary Readme
Adafruit Metro RP2350 piconesPlus_AdafruitMetroRP2350_arm.uf2 Readme
Adafruit Fruit Jam piconesPlus_AdafruitFruitJam_arm_piousb.uf2 Readme
Waveshare RP2040-PiZero piconesPlus_WaveShareRP2040PiZero_arm.uf2 Readme 3-D Printed case
Waveshare RP2350-PiZero piconesPlus_WaveShareRP2350PiZero_arm_piousb.uf2 Readme 3-D Printed case

Breadboard

Board Binary Readme
Pico piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico W piconesPlus_AdafruitDVISD_pico_w_arm.uf2 Readme
Pico 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme
Pico 2 W piconesPlus_AdafruitDVISD_pico2_w_arm.uf2 Readme
Adafruit feather rp2040 DVI piconesPlus_AdafruitFeatherDVI_arm.uf2 Readme
Pimoroni Pico Plus 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme

PCB Pico/Pico2

Board Binary Readme
Pico piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico W piconesPlus_AdafruitDVISD_pico_w_arm.uf2 Readme
Pico 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme
Pico 2 W piconesPlus_AdafruitDVISD_pico2_w_arm.uf2 Readme

PCB pico_nesPCB_v2.1.zip

3D-printed case designs for PCB:

https://www.thingiverse.com/thing:6689537.
For the latest two player PCB 2.0, you need:

  • Top_v2.0_with_Bootsel_Button.stl. This allows for software upgrades without removing the cover. (*)
  • Base_v2.0.stl
  • Power_Switch.stl.
    (*) in case you don't want to access the bootsel button on the Pico, you can choose Top_v2.0.stl

PCB WS2XX0-Zero (PCB required)

Board Binary Readme
Waveshare RP2040-Zero piconesPlus_WaveShareRP2040ZeroWithPCB_arm.uf2 Readme
Waveshare RP2350-Zero piconesPlus_WaveShareRP2350ZeroWithPCB_arm.uf2 Readme

PCB: Gerber_PicoNES_Mini_PCB_v2.0.zip

3D-printed case designs for PCB WS2XX0-Zero:
https://www.thingiverse.com/thing:7041536

PCB Waveshare RP2350-USBA with PCB

Binary

PCB: Gerber_PicoNES_Micro_v1.2.zip

Readme

Build guide

Pimoroni Pico DV

Board Binary Readme
Pico/Pico w piconesPlus_PimoroniDVI_pico_arm.uf2 Readme
Pico 2/Pico 2 w piconesPlus_PimoroniDVI_pico2_arm.uf2 Readme
Pimoroni Pico Plus 2 [piconesPlus_Pimo...
Read more

v0.33

21 Nov 14:14
5f7485d

Choose a tag to compare

CHANGELOG

General Info

Binaries for each configuration and PCB design are at the end of this page.

Click here for tested configurations.

See setup section in readme how to install and wire up

v0.33 release notes

  • Added support for Retro-bit 8 button Genesis-USB
  • Settings are saved to /settings_nes.dat instead of /settings.dat. This allows to have separate settings files for different emulators (e.g. pico-infonesPlus and pico-peanutGB etc.).
  • Added a settings menu.
    • Main menu: press SELECT to open; adjust options without using in-game button combos.
    • In-game: press SELECT+START to open; from here you can also quit from the game.
  • Switched to Fatfs R0.16.
  • removed the build_* scripts. Use bld.sh in stead. Use ./bld.sh -h for an overview of build options.

Fixes

  • Show correct buttonlabels in menus.
  • removed wrappers for f_chdir en f_cwd, fixed in Fatfs R0.16. (there was a long standing issue with f_chdir and f_cwd not working with exFAT formatted SD cards.)

previous changes

See HISTORY.md

Downloads by configuration

Binaries for each configuration are listed below. Binaries for Pico(2) also work for Pico(2)-w. No blinking led however on the -w boards.
For some configurations risc-v binaries are available. It is recommended however to use the arm binaries.

Note

No dedicated binaries are provided for the Pico w or Pico 2w. Instead, use the Pico or Pico 2 binaries. Enabling the LED on these boards causes too many issues. #136

Standalone boards

Board Binary Readme
Adafruit Metro RP2350 piconesPlus_AdafruitMetroRP2350_arm.uf2 Readme
Adafruit Fruit Jam piconesPlus_AdafruitFruitJam_arm_piousb.uf2 Readme
Waveshare RP2040-PiZero piconesPlus_WaveShareRP2040PiZero_arm.uf2 Readme 3-D Printed case
Waveshare RP2350-PiZero piconesPlus_WaveShareRP2350PiZero_arm_piousb.uf2 Readme 3-D Printed case

Breadboard

Board Binary Readme
Pico piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico W piconesPlus_AdafruitDVISD_pico_w_arm.uf2 Readme
Pico 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme
Pico 2 W piconesPlus_AdafruitDVISD_pico2_w_arm.uf2 Readme
Adafruit feather rp2040 DVI piconesPlus_AdafruitFeatherDVI_arm.uf2 Readme
Pimoroni Pico Plus 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme

PCB Pico/Pico2

Board Binary Readme
Pico piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico W piconesPlus_AdafruitDVISD_pico_w_arm.uf2 Readme
Pico 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme
Pico 2 W piconesPlus_AdafruitDVISD_pico2_w_arm.uf2 Readme

PCB pico_nesPCB_v2.1.zip

3D-printed case designs for PCB:

https://www.thingiverse.com/thing:6689537.
For the latest two player PCB 2.0, you need:

  • Top_v2.0_with_Bootsel_Button.stl. This allows for software upgrades without removing the cover. (*)
  • Base_v2.0.stl
  • Power_Switch.stl.
    (*) in case you don't want to access the bootsel button on the Pico, you can choose Top_v2.0.stl

PCB WS2XX0-Zero (PCB required)

Board Binary Readme
Waveshare RP2040-Zero piconesPlus_WaveShareRP2040ZeroWithPCB_arm.uf2 Readme
Waveshare RP2350-Zero piconesPlus_WaveShareRP2350ZeroWithPCB_arm.uf2 Readme

PCB: Gerber_PicoNES_Mini_PCB_v2.0.zip

3D-printed case designs for PCB WS2XX0-Zero:
https://www.thingiverse.com/thing:7041536

PCB Waveshare RP2350-USBA with PCB

Binary

PCB: Gerber_PicoNES_Micro_v1.2.zip

Readme

Build guide

Pimoroni Pico DV

Board Binary Readme
Pico/Pico w piconesPlus_PimoroniDVI_pico_arm.uf2 Readme
Pico 2/Pico 2 w piconesPlus_PimoroniDVI_pico2_arm.uf2 Readme
Pimoroni Pico Plus 2 piconesPlus_PimoroniDVI_pico2_arm.uf2 Readme

Note

On Pico W and Pico2 W, the CYW43 driver (used only for blinking the onboard LED) causes a DMA conflict with I2S audio on the Pimoroni Pico DV Demo Base, leading to emulator lock-ups. For now, no Pico W or Pico2 W binaries are provided; please use the Pico or Pico2 binaries instead. (#132)

Other downloads

Extract the zip file to the root folder of the SD card. Select a game in the menu and press START to show more information and box art. Works for most official released games. Screensaver shows floating random cover art.

v0.32

20 Sep 10:42
20ae887

Choose a tag to compare

CHANGELOG

General Info

Binaries for each configuration and PCB design are at the end of this page.

Click here for tested configurations.

See setup section in readme how to install and wire up

v0.32 release notes

Known issues

  • Pimoroni Pico DV: #132. Conflict with LED and I2S audio on Pico W and Pico2 W. No binaries provided for these boards. Use Pico or Pico2 binaries instead.
  • PCB and breadboard #136. If you experience a red flashing screen during gameplay on Pico W/Pico 2W, use the Pico/Pico2 binaries instead.

v0.31 release notes

  • Adafruit Fruit Jam:

    • NeoPixel leds act as a VU meter. Can be toggled on or of via Button2 on the Fruit Jam, or SELECT + RIGHT on the controller.
  • Screensaver

    • Block screensaver, which is shown when no metadata is available, is replaced by static floating image.

Fixes

Better error handling in screensaver function and other minor fixes.

v0.30 release notes

  • Added support for Adafruit Fruit Jam:

    • Uses HSTX for video output.
    • Audio is not supported over HSTX — connect speakers via the audio jack or the 4–8 Ω speaker connector.
    • Audio is simultaneousy played through speaker and jack. Speaker audio can be muted with Button 1.
    • Controller options:
    • Two-player mode:
      • Player 1: USB gamepad (USB 1).
      • Player 2: Wii Classic controller.
      • Dual USB (USB 1 + USB 2) multiplayer is not yet supported.
    • Scanlines can be toggled with SELECT + UP.
  • Added support for Waveshare RP2350-PiZero:

    • Gamepad must be connected via the PIO USB port.
    • The built-in USB port is now dedicated to power and firmware flashing, removing the need for a USB-Y cable.
    • Optional: when you solder the optional PSRAM chip on the board, the emulator will make use of it. Roms will be loaded much faster using PSRAM.
  • RP2350 Only Framebuffer implemented in SRAM. This eliminates the red flicker during slow operations, such as SD card I/O.

  • Cover art and metadata support:

    • 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 B → return to menu.
      • Press START or A → start the game.

Huge thanks to Gavin Knight for providing the metadata and images as well as testing the different builds!

Note

Cover art and metadata is available for most official released games.

  • Screensaver update: when cover art is installed, the screensaver displays floating random cover art from the SD card.
  • Updated to Pico SDK 2.2.0
  • Updated to lwmem V2.2.3

fixes

  • Fixed a compiler error in pico_lib using SDK 2.2.2 #129
  • Moved the NES controller port 1 PIO from PIO0 to PIO1. This resolves an issue where polling the NES controller would hang in case HDMI (also driven by PIO0) uses GPIO pin numbers 32 and higher, resulting in no image.
  • RP2350 Only Red screen flicker issue fixed. This was caused by slow operations such as SDcard I/O, which prevented the screen getting updated in time.

v0.29 release notes

  • PSRAM will be used if detected. (RP2350 only, default pin 47). ROMs load from the SD card into PSRAM instead of flash. This speeds up loading because the board no longer has to reboot to copy the ROM from the SD card to flash. Based on https://github.com/AndrewCapon/PicoPlusPsram Boards with PSRAM are the Adafruit Metro RP2350 with PSRAM and Pimoroni Pico Plus 2.
  • Added -s option to bld.sh to allow an alternative GPIO pin for PSRAM chip select.
  • Added support for Pimoroni Pico Plus 2. (Uses hardware configuration 2, which is also used for breadboard and PCB). No extra binary needed.
  • In some configurations, a second USB port can be added. This port can be used to connect a gamepad. The built-in usb port will be used for power and flashing the firmware. With this there is no need to use a USB-Y cable anymore. For more info, see pio_usb.md. You have to build the firmware from source to enable this feature. The pre-built binaries do not support this.

Note

Some low USB speed devices like keyboards do not work properly when connected to the second USB port. See sekigon-gonnoc/Pico-PIO-USB#18

Fixes

  • Make PIO USB only available for RP2350, because of memory limitations on RP2040.
  • Move PIO USB to Pio2, this fixes the NES controller not working on controller port 2.
  • Fix save games not working when using PSRAM.

v0.28 release notes

  • Enable I2S audio on the Pimoroni Pico DV Demo Base. This allows audio output through external speakers connected to the line-out jack of the Pimoroni Pico DV Demo Base. You can toggle audio output to this jack with SELECT + LEFT. Thanks to Layer812 for testing and providing feedback.

Fixes

  • improved error handling in build scripts.
  • Github action can be started manual.

All changes are in the pico_shared submodule. When building from source, make sure you do a git submodule update --init from within the source folder to get the latest pico_shared module.

Downloads by configuration

Binaries for each configuration are listed below. Binaries for Pico(2) also work for Pico(2)-w. No blinking led however on the -w boards.
For some configurations risc-v binaries are available. It is recommended however to use the arm binaries.

Note

No dedicated binaries are provided for the Pico w or Pico 2w. Instead, use the Pico or Pico 2 binaries. Enabling the LED on these boards causes too many issues. #136

Standalone boards

Board Binary Readme
Adafruit Metro RP2350 piconesPlus_AdafruitMetroRP2350_arm.uf2 Readme
Adafruit Fruit Jam piconesPlus_AdafruitFruitJam_arm_piousb.uf2 Readme
Waveshare RP2040-PiZero piconesPlus_WaveShareRP2040PiZero_arm.uf2 Readme 3-D Printed case
Waveshare RP2350-PiZero piconesPlus_WaveShareRP2350PiZero_arm_piousb.uf2 Readme 3-D Printed case

Breadboard

Board Binary Readme
Pico piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico W piconesPlus_AdafruitDVISD_pico_w_arm.uf2 Readme
Pico 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme
Pico 2 W piconesPlus_AdafruitDVISD_pico2_w_arm.uf2 Readme
Adafruit feather rp2040 DVI piconesPlus_AdafruitFeatherDVI_arm.uf2 Readme
Pimoroni Pico Plus 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme

PCB Pi...

Read more

v0.31

04 Sep 06:33

Choose a tag to compare

CHANGELOG

General Info

Binaries for each configuration and PCB design are at the end of this page.

Click here for tested configurations.

See setup section in readme how to install and wire up

v0.31 release notes

  • Adafruit Fruit Jam:

    • NeoPixel leds act as a VU meter. Can be toggled on or of via Button2 on the Fruit Jam, or SELECT + RIGHT on the controller.
  • Screensaver

    • Block screensaver, which is shown when no metadata is available, is replaced by static floating image.

Fixes

Better error handling in screensaver function and other minor fixes.

v0.30 release notes

  • Added support for Adafruit Fruit Jam:

    • Uses HSTX for video output.
    • Audio is not supported over HSTX — connect speakers via the audio jack or the 4–8 Ω speaker connector.
    • Audio is simultaneousy played through speaker and jack. Speaker audio can be muted with Button 1.
    • Controller options:
    • Two-player mode:
      • Player 1: USB gamepad (USB 1).
      • Player 2: Wii Classic controller.
      • Dual USB (USB 1 + USB 2) multiplayer is not yet supported.
    • Scanlines can be toggled with SELECT + UP.
  • Added support for Waveshare RP2350-PiZero:

    • Gamepad must be connected via the PIO USB port.
    • The built-in USB port is now dedicated to power and firmware flashing, removing the need for a USB-Y cable.
    • Optional: when you solder the optional PSRAM chip on the board, the emulator will make use of it. Roms will be loaded much faster using PSRAM.
  • RP2350 Only Framebuffer implemented in SRAM. This eliminates the red flicker during slow operations, such as SD card I/O.

  • Cover art and metadata support:

    • 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 B → return to menu.
      • Press START or A → start the game.

Huge thanks to Gavin Knight for providing the metadata and images as well as testing the different builds!

Note

Cover art and metadata is available for most official released games.

  • Screensaver update: when cover art is installed, the screensaver displays floating random cover art from the SD card.
  • Updated to Pico SDK 2.2.0
  • Updated to lwmem V2.2.3

fixes

  • Fixed a compiler error in pico_lib using SDK 2.2.2 #129
  • Moved the NES controller port 1 PIO from PIO0 to PIO1. This resolves an issue where polling the NES controller would hang in case HDMI (also driven by PIO0) uses GPIO pin numbers 32 and higher, resulting in no image.
  • RP2350 Only Red screen flicker issue fixed. This was caused by slow operations such as SDcard I/O, which prevented the screen getting updated in time.

v0.29 release notes

  • PSRAM will be used if detected. (RP2350 only, default pin 47). ROMs load from the SD card into PSRAM instead of flash. This speeds up loading because the board no longer has to reboot to copy the ROM from the SD card to flash. Based on https://github.com/AndrewCapon/PicoPlusPsram Boards with PSRAM are the Adafruit Metro RP2350 with PSRAM and Pimoroni Pico Plus 2.
  • Added -s option to bld.sh to allow an alternative GPIO pin for PSRAM chip select.
  • Added support for Pimoroni Pico Plus 2. (Uses hardware configuration 2, which is also used for breadboard and PCB). No extra binary needed.
  • In some configurations, a second USB port can be added. This port can be used to connect a gamepad. The built-in usb port will be used for power and flashing the firmware. With this there is no need to use a USB-Y cable anymore. For more info, see pio_usb.md. You have to build the firmware from source to enable this feature. The pre-built binaries do not support this.

Note

Some low USB speed devices like keyboards do not work properly when connected to the second USB port. See sekigon-gonnoc/Pico-PIO-USB#18

Fixes

  • Make PIO USB only available for RP2350, because of memory limitations on RP2040.
  • Move PIO USB to Pio2, this fixes the NES controller not working on controller port 2.
  • Fix save games not working when using PSRAM.

v0.28 release notes

  • Enable I2S audio on the Pimoroni Pico DV Demo Base. This allows audio output through external speakers connected to the line-out jack of the Pimoroni Pico DV Demo Base. You can toggle audio output to this jack with SELECT + LEFT. Thanks to Layer812 for testing and providing feedback.

Fixes

  • improved error handling in build scripts.
  • Github action can be started manual.

All changes are in the pico_shared submodule. When building from source, make sure you do a git submodule update --init from within the source folder to get the latest pico_shared module.

Downloads by configuration

Binaries for each configuration are listed below. Binaries for Pico(2) also work for Pico(2)-w. No blinking led however on the -w boards.
For some configurations risc-v binaries are available. It is recommended however to use the arm binaries.

Note

No dedicated binaries are provided for the Pico W or Pico 2W. Instead, use the Pico or Pico 2 binaries. The only difference is that the onboard LED does not blink on the Pico W/Pico 2W. Enabling the LED on these boards causes too many issues. #136

Standalone boards

Board Binary Readme
Adafruit Metro RP2350 piconesPlus_AdafruitMetroRP2350_arm.uf2 Readme
Adafruit Fruit Jam piconesPlus_AdafruitFruitJam_arm_piousb.uf2 Readme
Waveshare RP2040-PiZero piconesPlus_WaveShareRP2040PiZero_arm.uf2 Readme 3-D Printed case
Waveshare RP2350-PiZero piconesPlus_WaveShareRP2350PiZero_arm_piousb.uf2 Readme 3-D Printed case

Breadboard

Board Binary Readme
Pico/Pico W piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico 2/Pico 2 W piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme
Adafruit feather rp2040 DVI piconesPlus_AdafruitFeatherDVI_arm.uf2 Readme
Pimoroni Pico Plus 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme

PCB Pico/Pico2

Board Binary Readme
Pico/Pico W piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico 2/Pico 2W piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme

PCB pico_nesPCB_v2.1.zip

3D-printed case designs for PCB:

https://www.thingiverse.com/thing:6689537.
For the latest two player PCB 2.0, you need:

  • Top_v2.0_with_Bootsel_Button.stl. This allows for software upgrades without removing the cover. (*)
  • Base_v2.0.stl
  • Power_Switch.stl.
    (*) in case you don't want to access the bootsel button on the Pico, you can choose Top_v2.0.stl

PCB WS2XX0-Zero (PCB required)

Board Binary Readme
Waveshare RP20...
Read more

v0.30

28 Aug 11:27
a497089

Choose a tag to compare

CHANGELOG

General Info

Binaries for each configuration and PCB design are at the end of this page.

Click here for tested configurations.

See setup section in readme how to install and wire up

v0.30 release notes

  • Added support for Adafruit Fruit Jam:

    • Uses HSTX for video output.
    • Audio is not supported over HSTX — connect speakers via the audio jack or the 4–8 Ω speaker connector.
    • Audio is simultaneousy played through speaker and jack. Speaker audio can be muted with Button 1.
    • Controller options:
    • Two-player mode:
      • Player 1: USB gamepad (USB 1).
      • Player 2: Wii Classic controller.
      • Dual USB (USB 1 + USB 2) multiplayer is not yet supported.
    • Scanlines can be toggled with SELECT + UP.
  • Added support for Waveshare RP2350-PiZero:

    • Gamepad must be connected via the PIO USB port.
    • The built-in USB port is now dedicated to power and firmware flashing, removing the need for a USB-Y cable.
    • Optional: when you solder the optional PSRAM chip on the board, the emulator will make use of it. Roms will be loaded much faster using PSRAM.
  • RP2350 Only Framebuffer implemented in SRAM. This eliminates the red flicker during slow operations, such as SD card I/O.

  • Cover art and metadata support:

    • 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 B → return to menu.
      • Press START or A → start the game.

Huge thanks to Gavin Knight for providing the metadata and images as well as testing the different builds!

Note

Cover art and metadata is available for most official released games.

  • Screensaver update: when cover art is installed, the screensaver displays floating random cover art from the SD card.
  • Updated to Pico SDK 2.2.0
  • Updated to lwmem V2.2.3

fixes

  • Fixed a compiler error in pico_lib using SDK 2.2.2 #129
  • Moved the NES controller port 1 PIO from PIO0 to PIO1. This resolves an issue where polling the NES controller would hang in case HDMI (also driven by PIO0) uses GPIO pin numbers 32 and higher, resulting in no image.
  • RP2350 Only Red screen flicker issue fixed. This was caused by slow operations such as SDcard I/O, which prevented the screen getting updated in time.

v0.29 release notes

  • PSRAM will be used if detected. (RP2350 only, default pin 47). ROMs load from the SD card into PSRAM instead of flash. This speeds up loading because the board no longer has to reboot to copy the ROM from the SD card to flash. Based on https://github.com/AndrewCapon/PicoPlusPsram Boards with PSRAM are the Adafruit Metro RP2350 with PSRAM and Pimoroni Pico Plus 2.
  • Added -s option to bld.sh to allow an alternative GPIO pin for PSRAM chip select.
  • Added support for Pimoroni Pico Plus 2. (Uses hardware configuration 2, which is also used for breadboard and PCB). No extra binary needed.
  • In some configurations, a second USB port can be added. This port can be used to connect a gamepad. The built-in usb port will be used for power and flashing the firmware. With this there is no need to use a USB-Y cable anymore. For more info, see pio_usb.md. You have to build the firmware from source to enable this feature. The pre-built binaries do not support this.

Note

Some low USB speed devices like keyboards do not work properly when connected to the second USB port. See sekigon-gonnoc/Pico-PIO-USB#18

Fixes

  • Make PIO USB only available for RP2350, because of memory limitations on RP2040.
  • Move PIO USB to Pio2, this fixes the NES controller not working on controller port 2.
  • Fix save games not working when using PSRAM.

v0.28 release notes

  • Enable I2S audio on the Pimoroni Pico DV Demo Base. This allows audio output through external speakers connected to the line-out jack of the Pimoroni Pico DV Demo Base. You can toggle audio output to this jack with SELECT + LEFT. Thanks to Layer812 for testing and providing feedback.

Fixes

  • improved error handling in build scripts.
  • Github action can be started manual.

All changes are in the pico_shared submodule. When building from source, make sure you do a git submodule update --init from within the source folder to get the latest pico_shared module.

Downloads by configuration

Binaries for each configuration are listed below. Binaries for Pico(2) also work for Pico(2)-w. No blinking led however on the -w boards.
For some configurations risc-v binaries are available. It is recommended however to use the arm binaries.

Standalone boards

Board Binary Readme
Adafruit Metro RP2350 piconesPlus_AdafruitMetroRP2350_arm.uf2 Readme
Adafruit Fruit Jam piconesPlus_AdafruitFruitJam_arm_piousb.uf2 Readme
Waveshare RP2040-PiZero piconesPlus_WaveShareRP2040PiZero_arm.uf2 Readme 3-D Printed case
Waveshare RP2350-PiZero piconesPlus_WaveShareRP2350PiZero_arm_piousb.uf2 Readme 3-D Printed case

Breadboard

Board Binary Readme
Pico piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico W piconesPlus_AdafruitDVISD_pico_w_arm.uf2 Readme
Pico 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme
Pico 2 W piconesPlus_AdafruitDVISD_pico2_w_arm.uf2 Readme
Adafruit feather rp2040 DVI piconesPlus_AdafruitFeatherDVI_arm.uf2 Readme
Pimoroni Pico Plus 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme

PCB Pico/Pico2

Board Binary Readme
Pico piconesPlus_AdafruitDVISD_pico_arm.uf2 Readme
Pico W piconesPlus_AdafruitDVISD_pico_w_arm.uf2 Readme
Pico 2 piconesPlus_AdafruitDVISD_pico2_arm.uf2 Readme
Pico 2 W piconesPlus_AdafruitDVISD_pico2_w_arm.uf2 Readme

PCB pico_nesPCB_v2.1.zip

3D-printed case designs for PCB:

https://www.thingiverse.com/thing:6689537.
For the latest two player PCB 2.0, you need:

  • Top_v2.0_with_Bootsel_Button.stl. This allows for software upgrades witho...
Read more

v0.29

13 Jul 11:50

Choose a tag to compare

CHANGELOG

General Info

Binaries for each configuration and PCB design are at the end of this page.

  • For Raspberry Pi Pico (RP2040): Download the .uf2 files that start with pico_piconesPlus.
  • For Raspberry Pi Pico W (RP2040 with WiFi): Download the .uf2 files that start with pico_w_piconesPlus. You can also use the regular pico_piconesPlus files if you don’t mind the WiFi LED blinking.
  • For Raspberry Pi Pico 2 (RP2350): Download the .uf2 files that start with pico2_piconesPlus (for ARM) or pico2_riscv_piconesPlus (for RISC-V).
  • For Raspberry Pi Pico 2 W (RP2350 with WiFi): Download the .uf2 files that start with pico2_w_piconesPlus (for ARM) or pico2_w_riscv_piconesPlus (for RISC-V). You can also use the non-W files if you don’t mind the WiFi LED blinking.

Click here for tested configurations.

See setup section in readme how to install and wire up

3D-printed case designs for custom PCBs

Raspberry Pi Pico and Pico 2 PCB

https://www.thingiverse.com/thing:6689537.
For the latest two player PCB 2.0, you need:

  • Top_v2.0_with_Bootsel_Button.stl. This allows for software upgrades without removing the cover. (*)
  • Base_v2.0.stl
  • Power_Switch.stl.

(*) in case you don't want to access the bootsel button on the Pico, you can choose Top_v2.0.stl

Waveshare RP2040-Zero and RP2350-Zero PCB

https://www.thingiverse.com/thing:7041536

Waveshare RP2040-PiZero

https://www.thingiverse.com/thing:6758682

v0.29 release notes

  • PSRAM will be used if detected. (RP2350 only, default pin 47). ROMs load from the SD card into PSRAM instead of flash. This speeds up loading because the board no longer has to reboot to copy the ROM from the SD card to flash. Based on https://github.com/AndrewCapon/PicoPlusPsram Boards with PSRAM are the Adafruit Metro RP2350 with PSRAM and Pimoroni Pico Plus 2.
  • Added -s option to bld.sh to allow an alternative GPIO pin for PSRAM chip select.
  • Added support for Pimoroni Pico Plus 2. (Uses hardware configuration 2, which is also used for breadboard and PCB). No extra binary needed.
  • In some configurations, a second USB port can be added. This port can be used to connect a gamepad. The built-in usb port will be used for power and flashing the firmware. With this there is no need to use a USB-Y cable anymore. For more info, see pio_usb.md. You have to build the firmware from source to enable this feature. The pre-built binaries do not support this.

Note

Some low USB speed devices like keyboards do not work properly when connected to the second USB port. See sekigon-gonnoc/Pico-PIO-USB#18

Fixes

  • Make PIO USB only available for RP2350, because of memory limitations on RP2040.
  • Move PIO USB to Pio2, this fixes the NES controller not working on controller port 2.
  • Fix save games not working when using PSRAM.

v0.28 release notes

  • Enable I2S audio on the Pimoroni Pico DV Demo Base. This allows audio output through external speakers connected to the line-out jack of the Pimoroni Pico DV Demo Base. You can toggle audio output to this jack with SELECT + LEFT. Thanks to Layer812 for testing and providing feedback.

Fixes

  • improved error handling in build scripts.
  • Github action can be started manual.

All changes are in the pico_shared submodule. When building from source, make sure you do a git submodule update --init from within the source folder to get the latest pico_shared module.

v0.28

12 Jun 09:17
e5feabf

Choose a tag to compare

CHANGELOG

General Info

Binaries for each configuration and PCB design are at the end of this page.

  • For Raspberry Pi Pico (RP2040): Download the .uf2 files that start with pico_piconesPlus.
  • For Raspberry Pi Pico W (RP2040 with WiFi): Download the .uf2 files that start with pico_w_piconesPlus. You can also use the regular pico_piconesPlus files if you don’t mind the WiFi LED blinking.
  • For Raspberry Pi Pico 2 (RP2350): Download the .uf2 files that start with pico2_piconesPlus (for ARM) or pico2_riscv_piconesPlus (for RISC-V).
  • For Raspberry Pi Pico 2 W (RP2350 with WiFi): Download the .uf2 files that start with pico2_w_piconesPlus (for ARM) or pico2_w_riscv_piconesPlus (for RISC-V). You can also use the non-W files if you don’t mind the WiFi LED blinking.

Click here for tested configurations.

See setup section in readme how to install and wire up

3D-printed case designs for custom PCBs

Raspberry Pi Pico and Pico 2 PCB

https://www.thingiverse.com/thing:6689537.
For the latest two player PCB 2.0, you need:

  • Top_v2.0_with_Bootsel_Button.stl. This allows for software upgrades without removing the cover. (*)
  • Base_v2.0.stl
  • Power_Switch.stl.

(*) in case you don't want to access the bootsel button on the Pico, you can choose Top_v2.0.stl

Waveshare RP2040-Zero and RP2350-Zero PCB

https://www.thingiverse.com/thing:7041536

Waveshare RP2040-PiZero

https://www.thingiverse.com/thing:6758682

v0.28 release notes

  • Enable I2S audio on the Pimoroni Pico DV Demo Base. This allows audio output through external speakers connected to the line-out jack of the Pimoroni Pico DV Demo Base. You can toggle audio output to this jack with SELECT + LEFT. Thanks to Layer812 for testing and providing feedback.

Fixes

  • improved error handling in build scripts.
  • Github action can be started manual.

All changes are in the pico_shared submodule. When building from source, make sure you do a git submodule update --init from within the source folder to get the latest pico_shared module.

v0.27

20 May 17:47

Choose a tag to compare

CHANGELOG

General Info

Binaries for each configuration and PCB design are at the end of this page.

  • For Raspberry Pi Pico (RP2040) you need to download the .uf2 files starting with pico_piconesPlus.
  • For Raspberry Pi Pico w (rp2040) you can download the .uf2 files starting with pico_w_piconesPlus. Although you can also use the pico_piconesPlus binaries on the Pico w if you don't mind the blinking led.
  • For Raspberry Pi Pico 2 (RP2350) you need to download the .uf2 files starting with pico2_piconesPlus for ARM or pico2_riscv_piconesPlus for Risc-V.
  • For Raspberry Pi Pico 2 w (RP2350) you can download the .uf2 files starting with pico2_w_piconesPlus for ARM or pico2_w_riscv_piconesPlus for Risc-V Although you can also use the pico2_piconesPlus binaries on the Pico w if you don't mind the blinking led.

Click here for tested configurations.

See setup section in readme how to install and wire up

3D-printed case designs for custom PCBs

Raspberry Pi Pico and Pico 2 PCB

https://www.thingiverse.com/thing:6689537.
For the latest two player PCB 2.0, you need:

  • Top_v2.0_with_Bootsel_Button.stl. This allows for software upgrades without removing the cover. (*)
  • Base_v2.0.stl
  • Power_Switch.stl.

(*) in case you don't want to access the bootsel button on the Pico, you can choose Top_v2.0.stl

Waveshare RP2040-Zero and RP2350-Zero PCB

https://www.thingiverse.com/thing:7041536

Waveshare RP2040-PiZero

https://www.thingiverse.com/thing:6758682

v0.27 release notes

  • Added second PCB design for use with Waveshare RP2040-Zero or RP2350-Zero mini development board. The PCB is designed to fit in a 3D-printed case. PCB and Case design by @DynaMight1124.
    Based around cheaper but harder to solder components for those that fancy a bigger challenge. It also allows the design to be smaller.
  • Added new configuration to BoardConfigs.cmake and bld.sh to support the new configuration for this PCB.
NESMiniPCB NESMiniCase

Fixes

  • Pico 2 W executables added to the release.

All changes are in the pico_shared submodule. When building from source, make sure you do a git submodule update --init from within the source folder to get the latest pico_shared module.

v0.26

26 Apr 13:31
a85995a

Choose a tag to compare

CHANGELOG

General Info

Binaries for each configuration and PCB design are at the end of this page.

  • For Raspberry Pi Pico (RP2040) you need to download the .uf2 files starting with pico_piconesPlus.
  • For Raspberry Pi Pico w (rp2040) you can download the .uf2 files starting with pico_w_piconesPlus. Although you can also use the pico_piconesPlus binaries on the Pico w if you don't mind the blinking led.
  • For Raspberry Pi Pico 2 (RP2350) you need to download the .uf2 files starting with pico2_piconesPlus for ARM or pico2_riscv_piconesPlus for Risc-V.
  • For Raspberry Pi Pico 2 w (RP2350) you can download the .uf2 files starting with pico2_w_piconesPlus for ARM or pico2_w_riscv_piconesPlus for Risc-V Although you can also use the pico2_piconesPlus binaries on the Pico w if you don't mind the blinking led.

Click here for tested configurations.

See setup section in readme how to install and wire up

3D-printed case design for PCB: https://www.thingiverse.com/thing:6689537.
For the latest two player PCB 2.0, you need:

  • Top_v2.0_with_Bootsel_Button.stl. This allows for software upgrades without removing the cover. (*)
  • Base_v2.0.stl
  • Power_Switch.stl.

(*) in case you don't want to access the bootsel button on the Pico, you can choose Top_v2.0.stl

3D-printed case design for Waveshare RP2040-PiZero: https://www.thingiverse.com/thing:6758682

v0.26 release notes (This is a re-release)

  • Releases now built with SDK 2.1.1
  • Support added for Adafruit Metro RP2350 board. See README for more info. No RISCV support yet.
  • Switched to SD card driver pico_fatfs from https://github.com/elehobica/pico_fatfs. This is required for the Adafruit Metro RP2350. Thanks to elehobica for helping making it work for the Pimoroni Pico DV Demo board.
  • Besides FAT32, SD cards can now also be formatted as exFAT.
  • Nes controller PIO code updated by @ManCloud. This fixes the NES controller issues on the Waveshare RP2040 - PiZero board. #8
  • Board configs are moved to pico_shared.

Fixes

  • Fixed Pico 2 W: Led blinking causes screen flicker and ioctl timeouts #2. Solved with in SDK 2.1.1
  • WII classic controller: i2c bus instance (i2c0 / i2c1) not hardcoded anymore but configurable via CMakeLists.txt.

All changes are in the pico_shared submodule. When building from source, make sure you do a git submodule update --init from within the source folder to get the latest pico_shared module.