CHANGELOG
Audio mixing improvements, HDMI stability fixes, a scrollable settings menu, and a Ganbare Goemon HUD flicker fix.
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.43
Audio
- Better audio mixing for NES games.
- Fixed a DC offset on the I2S audio.
- Added an alternative I2S audio driver based on the official pico-extras driver. This is an opt-in build option; the default driver is unchanged.
Special thanks go to szuping for his contribution to the audio fixes.
Game fixes
- Fixed flickering on the bottom line of the top HUD in Ganbare Goemon! - Karakuri Douchuu (Japan).
HDMI
- More stable HDMI/DVI output on HSTX-based boards. Some monitors previously lost the picture intermittently and recovered with a visible glitch; the updated signal shape keeps the picture stable.
Settings menu
- The options list is now scrollable, with up/down arrows when items extend beyond the visible window. SAVE/CANCEL/DEFAULT, the palette, and the help text stay anchored at fixed rows.
- Note: the settings file format was bumped; existing
settings_nes.datfiles will be reset to defaults on first boot.
Developer
- Added a headless Linux host harness for the InfoNES core, so PPU/CPU/mapper bugs can be reproduced on a PC without flashing a board.
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
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.