github fhoedemakers/pico-infonesPlus v0.42

2 hours ago

CHANGELOG

Famicom Disk System games no longer require PSRAM. 8:7 pixel aspect ratio display mode and configurable scanline types added for HSTX based boards. Two player USB support.

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.42

Features

Famicom Disk System

  • PSRAM is no longer required to run Famicom Disk System games. The only requirement now is an RP2350-based board.
  • BIOS screen now displays correctly.
  • Added "FDS Auto Insert Disk 1 on Start" setting. When set to Off, the BIOS animation keeps playing until the user presses Button2 (A) to insert the disk.

NSF Player

  • Fixed audio clipping.
  • Fixed pause/resume: elapsed time is preserved, and the player no longer skips to the next track when resuming.
  • Fixed audio delay on PicoDVI boards. Audio now starts in sync with playback right from the first track.

HDMI

  • Added 8:7 pixel aspect ratio support for HSTX boards.
  • Added "Scanline Type" setting (HSTX boards only). Simple darkens odd lines; LCD adds a visible pixel-grid effect by also darkening alternating output columns. LCD is only available in 1:1 screen mode.
  • Screen mode and scanline settings now behave consistently across all HDMI boards.

USB Controllers

  • Added two-player USB controller support. On the Adafruit Fruit Jam, two controllers can be connected directly to the board’s USB ports for multiplayer games.

This feature is confirmed working on the Adafruit Fruit Jam, Raspberry Pi Pico, and Pico 2. For the Raspberry Pi Pico and Pico 2, a USB Y-cable and USB hub are required.
Currently, this does not yet work on the Waveshare RP2350-PiZero.

Other configurations may also work when using a USB hub, but these have not yet been tested.

Other

  • Added support for mapper 210 #200
  • Test builds (VX.X) now show the build date and time on the splash screen.
  • Built against the latest TinyUSB version.

Fixes

  • Fixed external audio (PCM5000A) not working on RP2040 PicoDVI boards when enabled at boot, and resolved an intermittent audio glitch on the same boards.
  • Fixed audio distortion during loud sound effects on the Adafruit Fruit Jam.
  • Fixed volume imbalance between headphones and speaker on Adafruit Fruit Jam. Headphone volume is now automatically attenuated when headphones are inserted, so the volume control can be set for a comfortable speaker level without blasting headphones.
  • Better audio mixing for VRC6 games like Akumajou Densetsu (Castlevania III JP) #199
  • Fixed background jitter in Akumajou Densetsu (Castlevania III JP) during vertical scroll sections. The playfield no longer shifts up and down by a pixel between frames.
  • Fixed HUD scroll glitches in Rush'n Attack, Galaxian (JP) and Robocop 3.
  • Fixed missing HUD in Alien 3.
  • Fixed crash when opening the settings menu.
  • Fixed a memory allocation bug in the HDMI driver on HSTX boards that wasted RAM.
  • Fixed mapper 19 not working correctly #200
  • Improved display sync and fixed audio clipping on first launch by feeding blank frames.
  • Fixed settings menu always showing unsaved changes after the new scanline setting was added.
  • Updated the build configuration to be compatible with the latest TinyUSB version. #202 #203

v0.41

Features

Famicom Disk System

Note that FDS support requires an RP2350 board with PSRAM and a BIOS file at /bios/fds-bios.rom.

  • Implement save games for games that support write save data back to disk, like Metroid and Zelda. Saves are stored as /SAVES/gametitle_fds.sav #193
  • Added an option to the settings menu to automatically swap disk sides. This setting is disabled by default. When it’s off, you can manually swap disks in-game using SELECT + START.

Audio is not perfect but acceptable.

NSF sound playback

  • Added NSF playback. Emulator can load and play .nsf (Nintendo Sound Format) roms.
  • Controls:
    • LEFT/RIGHT change track
    • Button2 Stop
    • Button1 Resume

Settings menu

  • Better use of screen real estate:
    • SAVE / DEFAULT / CANCEL are on the same row.
    • FG/BG color codes now placed to the left to the color grid.

Fixes

Famicom Disk System

  • Fix disk error 24 in Metroid and possible in other games too. #192
  • Fix for game lock-up in Zelda when moving to the next screen during gameplay.

Use of AI

FDS, NSF, additional mappers developed with the help of Anthropic Claude Opus 4.6

v0.40 (This is a re-release of v0.39 with some fixes and improvements)

  • Fix incorrect parsing of region in NES 2.0 header. #197 Thanks to @Lome-one for reporting.
  • The emulatortype is now correctly set to "NES" for Famicom Disk System games.

v0.39

Features:

  • Famicom Disk System (.fds) support on RP2350 boards with PSRAM (with limitations—see #192, #193, #194, #195). Requires a BIOS file at /bios/fds-bios.rom. Disk swapping is done via the settings menu (SELECT+START).
  • Added "reset game" option to the in-game settings menu.
  • Removed unused 360 folder from metadata.

Fixes

Regional Support:

  • PAL/Dendy games now run at the correct frame rate on RP2350 boards (50Hz instead of 60Hz). RP2040 boards still run PAL/Dendy at 60Hz due to hardware constraints.

Mapper & Game-Specific Fixes:

  • Mapper 85 now supported (tested with Tiny Toon Adventures 2 JP, Lagrange Point JP). Note: expansion audio for Mapper 85 is not yet emulated.
  • Akumajou Special: Boku Dracula-kun (Mapper 23) - fixed black screen issue.
  • Gimmick! (JP) - fixed black playfield after pressing Start.
  • Robocop 3 (USA) - fixed black screen on startup (Mapper 1 fix).
  • Castlevania III US (Mapper 5) and Castlevania III JP (Mapper 24) - fixed sound effects cutting out mid-level.
  • Akumajou Densetsu (Castlevania III JP) - fixed graphical glitches in intro screen.
  • Galaxian (JP) - fixed handling of incorrect ROM header info.
  • Battletoads - Double Dragon - fixed missing sound effects.
  • Double Dragon - partial fix for sound glitch.
  • Added Sunsoft 5B expansion audio emulation for Mapper 69 (Gimmick!, Hebereke).

Performance & Stability:

  • Fixed stack overflow when sorting large directory contents.
  • Removed 40K fixed buffer used for Mapper 235 from heap memory.
  • DVI mode: added watchdog function on core 1 to recover from occasional signal drops

Adafruit Fruit Jam:

  • Headphone detection now works correctly; plugging in headphones automatically mutes the speaker.
  • External audio setting now enables the Fruit Jam's built-in speaker.

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)

SpotPear HDMI

For more info about the SpotPear HDMI see this page : https://spotpear.com/index/product/detail/id/1207.html and https://spotpear.com/index/study/detail/id/971.html

The easiest way to set this up is using an expander board like this: https://shop.pimoroni.com/products/pico-omnibus?variant=32369533321299

See also #127

Board Binary
Pico/Pico w piconesPlus_SpotpearHDMI_pico_arm.uf2
Pico 2/Pico 2 w piconesPlus_SpotpearHDMI_pico2_arm.uf2

Murmulator M1

For more info about the Murmulator see this website: https://murmulator.ru/ and #150

Board Binary
Pico/Pico w piconesPlus_MurmulatorM1_pico_arm.uf2
Pico 2/Pico 2 w piconesPlus_MurmulatorM1_pico2_arm.uf2

Murmulator M2

For more info about the Murmulator see this website: https://murmulator.ru/ and #150

Board Binary
Pico/Pico w piconesPlus_MurmulatorM2_arm.uf2

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.

Don't miss a new pico-infonesPlus release

NewReleases is sending notifications on new releases.