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 |
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
PCB: Gerber_PicoNES_Micro_v1.2.zip
Readme
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
- Metadata: PicoNesMetadata.zip
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.