You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+40-1Lines changed: 40 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,7 @@
1
1
# CHANGELOG
2
2
3
-
Famicom Disk System support with limitations, additional mapper improvements, and native PAL/Dendy frame rates on RP2350 boards.
3
+
This release brings improvements to Famicom Disk System support, including the ability to save games back to disk and bug fixes for disk errors in Metroid and Zelda. It also introduces an NSF audio player. The settings interface has been refined for improved usability, and several other issues have been fixed.
4
+
4
5
5
6
# General Info
6
7
@@ -10,6 +11,44 @@ Famicom Disk System support with limitations, additional mapper improvements, an
10
11
11
12
[See setup section in readme how to install and wire up](https://github.com/fhoedemakers/pico-infonesPlus#pico-setup)
12
13
14
+
# v0.41
15
+
16
+
## Features
17
+
18
+
**Famicom Disk System**
19
+
20
+
Note that FDS support requires an RP2350 board with PSRAM and a BIOS file at `/bios/fds-bios.rom`.
21
+
22
+
- 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](https://github.com/fhoedemakers/pico-infonesPlus/issues/193)
23
+
- 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.
24
+
25
+
Audio is not perfect but acceptable.
26
+
27
+
**NSF sound playback**
28
+
29
+
- Added NSF playback. Emulator can load and play `.nsf` (Nintendo Sound Format) roms.
30
+
- Controls:
31
+
- LEFT/RIGHT change track
32
+
- Button2 Stop
33
+
- Button1 Resume
34
+
35
+
**Settings menu**
36
+
37
+
- Better use of screen real estate:
38
+
- SAVE / DEFAULT / CANCEL are on the same row.
39
+
- FG/BG color codes now placed to the left to the color grid.
40
+
41
+
## Fixes
42
+
43
+
**Famicom Disk System**
44
+
45
+
- Fix disk error 24 in Metroid and possible in other games too. [#192](https://github.com/fhoedemakers/pico-infonesPlus/issues/192)
46
+
- Fix for game lock-up in Zelda when moving to the next screen during gameplay.
47
+
48
+
## Use of AI
49
+
50
+
FDS, NSF, additional mappers developed with the help of [Anthropic Claude Opus 4.6](https://www.anthropic.com/claude/opus)
51
+
13
52
# v0.40 (This is a re-release of v0.39 with some fixes and improvements)
14
53
15
54
- Fix incorrect parsing of region in NES 2.0 header. [#197](https://github.com/fhoedemakers/pico-infonesPlus/issues/197) Thanks to [@Lome-one](https://github.com/Lome-one) for reporting.
Copy file name to clipboardExpand all lines: README.md
+93-34Lines changed: 93 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,10 +10,13 @@
10
10
-**SD Card Menu System** – Browse and launch games from an on-screen menu interface
11
11
-**Dual Controller Support** – Two simultaneous controllers for multiplayer gameplay ([details](#about-two-player-games))
12
12
-**Save State Management** – Automatic battery-backed SRAM persistence and manual save states
13
-
-**Audio Playback** – WAV format audio playback in the menu (RP2350 only)
14
-
-**Famicom Disk System** – Support for FDS game images with user-supplied BIOS
13
+
-**Famicom Disk System** – Support for FDS game images with user-supplied BIOS. More info on this in the [FDS Games](#famicom-disk-system-fds-games-1) section below.
15
14
-**Multi-Region Support** – NTSC, PAL, and Dendy region compatibility
16
-
-**Flexible Hardware** – Compatible with standard DVI/HDMI breakout boards, with optional [custom PCB](#pcb-with-raspberry-pi-pico-or-pico-2) and [3D-printed case](https://github.com/fhoedemakers/pico-infonesPlus#3d-printed-case)
15
+
-**NSF Audio Playback** – Play NES music files (`.nsf`) with visual VU-meter overlay. More info on this in the [Playing NSF Audio Files](#playing-nsf-audio-files) section below.
16
+
-**WAV Audio Playback** – WAV (`.wav`) format audio playback in the menu (RP2350 only). More info on this in the [WAV Music Playback in Menu](#wav-music-playback-in-menu-rp2350-only) section below.
17
+
-**Flexible Hardware** – [Compatible with standard DVI/HDMI breakout boards](#possible-configurations), with optional [custom PCB](#pcb-with-raspberry-pi-pico-or-pico-2) and [3D-printed case](https://github.com/fhoedemakers/pico-infonesPlus#3d-printed-case)
18
+
19
+
17
20
18
21
### Regional Support
19
22
@@ -118,7 +121,7 @@ See downloads in the releases page for the correct binary to use with these boar
118
121
***
119
122
120
123
## Gamecontroller support
121
-
Depending on the hardware configuration, the emulator supports these gamecontrollers. An USB-Y cable is needed to both connect power and a gamecontroller to the usb-port.
124
+
Depending on the hardware configuration, the emulator supports these gamecontrollers. In some configurations, an USB-Y cable is needed to both connect power and a gamecontroller to the usb-port.
122
125
123
126
### USB game Controllers
124
127
- Sony Dual Shock 4
@@ -145,7 +148,7 @@ For more info, see [pio_usb.md](pio_usb.md).
145
148
146
149
### Legacy controllers
147
150
- One or optional two original NES controllers for two player games. In some configurations, soldering is required.
148
-
- WII-classic controller: Adafruit Feather RP2040 and WaveShare RP2040 Pi-Zero boards only
151
+
- WII-classic controller: Adafruit Feather RP2040, WaveShare RP2040 Pi-Zero, Adafruit Metro RP2350, Adafruit Fruit Jam boards only
149
152
150
153
Parts list for legacy controllers
151
154
* NES Controller. A second controller port and controller is optional and only needed if you want to play two player games using NES controllers. Two player games can also be played with a USB controller and a NES controller.
@@ -182,17 +185,23 @@ Without PSRAM, selecting a game ROM triggers a reboot: the ROM is written to fla
182
185
183
186
With PSRAM, this step is no longer needed. Games are loaded directly from the SD card into PSRAM and executed immediately, resulting in much faster startup times.
184
187
188
+
189
+
185
190
| Board | PSRAM Included |
186
191
|:--|:--|
187
-
|[Waveshare RP2350-PiZero](https://www.waveshare.com/rp2350-pizero.htm)| No – optional, must be soldered ([PSRAM module](https://www.adafruit.com/product/4677)) |
192
+
|[Waveshare RP2350-PiZero](https://www.waveshare.com/rp2350-pizero.htm)| No – optional, must be soldered ([PSRAM module](https://www.adafruit.com/product/4677)) See also issue [#191](https://github.com/fhoedemakers/pico-infonesPlus/issues/191)|
188
193
|[Adafruit Metro RP2350 with PSRAM](https://www.adafruit.com/product/6267)| Yes – pre-installed |
189
194
|[Pimoroni Pico Plus 2](https://shop.pimoroni.com/products/pimoroni-pico-plus-2)| Yes – pre-installed |
195
+
|[Adafruit Fruit Jam](https://www.adafruit.com/product/6200)| Yes - pre-installed |
196
+
197
+
> [!NOTE]
198
+
> The Waveshare RP2350-PiZero requires a Winbond flash chip for PSRAM to function correctly with the emulator. However, some boards ship with a flash chip from a different manufacturer, causing the emulator to crash. See issue [#191](https://github.com/fhoedemakers/pico-infonesPlus/issues/191). In this scenario the board can only run the emulator if no PSRAM is installed.
199
+
190
200
191
201
192
202
***
193
203
194
204
## Warning
195
-
Repeatedly flashing your Pico will eventually wear out the flash memory.
196
205
197
206
The emulator overclocks the Pico in order to get the emulator working fast enough. Overclocking can reduce the Pico's lifespan.
198
207
@@ -232,7 +241,7 @@ Click on the link below for your specific board configuration:
232
241
> This board is discontinued and no longer sold by Pimoroni
233
242
234
243
### materials needed
235
-
- Raspberry Pi Picoor Pico 2 with soldered male headers.
244
+
- Raspberry Pi Pico, Pico 2 or [Pimoroni Pico Plus 2](https://shop.pimoroni.com/products/pimoroni-pico-plus-2?variant=42092668289107) with soldered male headers.
236
245
-[Pimoroni Pico DV Demo Base](https://shop.pimoroni.com/products/pimoroni-pico-dv-demo-base?variant=39494203998291).
237
246
-[Micro usb to usb OTG Cable](https://a.co/d/dKW6WGe)
238
247
- Controllers (Depending on what you have)
@@ -682,7 +691,7 @@ Please keep the following in mind:
682
691
- One of these Waveshare boards:
683
692
-[Waveshare RP2040-PiZero Development Board](https://www.waveshare.com/rp2040-pizero.htm).
684
693
-[Waveshare RP2350-PiZero Development Board](https://www.waveshare.com/rp2350-pizero.htm).
685
-
- Optional: [PSRAM chip](https://www.adafruit.com/product/4677) When installed, the emulator loads ROMs from PSRAM instead of flash memory for significantly faster performance. Fully functional even without PSRAM
694
+
- Optional: [PSRAM chip](https://www.adafruit.com/product/4677) When installed, the emulator loads ROMs from PSRAM instead of flash memory for significantly faster performance. Fully functional even without PSRAM. There is an issue with boards usings flash chips from another brand than Winbond, where the PSRAM is not working. See [#191](https://github.com/fhoedemakers/pico-infonesPlus/issues/191)
686
695
-[USB-C to USB-A cable](https://a.co/d/2i7rJid) for flashing the uf2 onto the board.
687
696
- USB-C Power supply. Connect to the port labelled USB, not PIO-USB. See note below.
688
697
-[Mini HDMI to HDMI Cable](https://a.co/d/5BZg3Z6).
@@ -815,7 +824,7 @@ When ordering, simply upload the zip file containing the gerber design. This fi
815
824
> If you are looking for the previous design (v0.2). You can find it [here](PCB/v0.2)
816
825
817
826
> [!NOTE]
818
-
> It seems that sellers on AliExpress have copied the PCB design and are selling pre-populated PCB's. For questions about those boards, please contact the seller on AliExpress.
827
+
> Sellers on AliExpress have copied the PCB design and are selling pre-populated PCB's. For questions about those boards, please contact the seller on AliExpress.
819
828
820
829
Other materials needed:
821
830
@@ -935,25 +944,7 @@ Download the metadata pack from the [releases page](https://github.com/fhoedemak
FDS games are supported with the following limitations:
941
-
942
-
- A BIOS file is required. Place it at `/bios/fds-bios.rom` on the SD card.
943
-
- An RP2350 board with PSRAM is required.
944
-
- Games that save data to disk may not work correctly or at all. (Zelda, Metroid)
945
-
- Expansion audio is not supported.
946
-
947
-
See [#192](https://github.com/fhoedemakers/pico-infonesPlus/issues/192), [#193](https://github.com/fhoedemakers/pico-infonesPlus/issues/193), [#194](https://github.com/fhoedemakers/pico-infonesPlus/issues/194), [#195](https://github.com/fhoedemakers/pico-infonesPlus/issues/195) for issues regarding to FDS.
948
-
949
-
### Swapping Disks
950
-
951
-
When prompted to swap disks, use the in-game settings menu:
952
-
953
-
1. Press **SELECT + START** to open the settings menu.
954
-
2. Select the first option to change the disk.
955
-
3. Press **LEFT/RIGHT** to choose the disk side.
956
-
4. Press **Button2** to confirm and return.
947
+
***
957
948
958
949
# Gamepad and keyboard usage
959
950
@@ -1016,7 +1007,52 @@ Save States should work for mapper 0,1,2,3 and 4. Other mappers may or may not
1016
1007
1017
1008
***
1018
1009
1019
-
# Music Playback in menu (RP2350 Only)
1010
+
# Famicom Disk System (FDS) Games
1011
+
1012
+
FDS games are supported with the following requirements:
1013
+
1014
+
- A BIOS file is required. Place it at `/bios/fds-bios.rom` on the SD card.
1015
+
- An RP2350 board with PSRAM is required.
1016
+
- You need roms with the `.fds` extension.
1017
+
1018
+
FDS games have these features:
1019
+
1020
+
- For games that support write save data back to disk, you must go back to the menu to save the game. Saves are written to `/saves/gamename_fds.sav`. Save states are not supported for FDS games.
1021
+
- Audio is not perfect but acceptable.
1022
+
1023
+
### Swapping Disks
1024
+
1025
+
When prompted to swap disks, use the in-game settings menu:
1026
+
1027
+
1. Press **SELECT + START** to open the settings menu.
1028
+
2. Select the first option to change the disk.
1029
+
3. Press **LEFT/RIGHT** to choose the disk side.
1030
+
4. Press **Button2** to confirm and return.
1031
+
1032
+
### Auto Swapping disks
1033
+
1034
+
In the settings menu, there is an option **Auto Swap FDS Disks**. This is disabled by default. When enabled, the emulator will automatically swap disks when needed. Note that in some cases you still need to manually swap the disks.
1035
+
1036
+
***
1037
+
1038
+
# Playing NSF audio files
1039
+
1040
+
The emulator can play Nintendo Sound Format files. These are roms with the `.nsf` extension. This works on both the RP2040 and RP2350 boards.
1041
+
1042
+
Each NSF file can have multiple tracks. Loading a `.nsf` rom from the menu will automatically start the first track. Each track is played for the maximum duration of 3 minutes. Then the next track is played. When there is silence for more than 4 seconds, the next track is played.
Mesen NES rom database: https://github.com/SourMesen/Mesen2
1281
+
Mesen: https://github.com/SourMesen/Mesen2 used as basis for:
1282
+
1283
+
- NES rom database
1284
+
- FDS implementation
1285
+
- NSF playback.
1286
+
1287
+
[Anthropic Claude Opus 4.6](https://www.anthropic.com/claude/opus) assisted with:
1288
+
1289
+
- Famicom Disk System (FDS) support
1290
+
- mapper 5 (MMC5)
1291
+
- mapper 24 (VRC6a)
1292
+
- mapper 30
1293
+
- mapper 85
1294
+
- fixes in other mappers
1295
+
- NSF player support
1296
+
- general code optimizations and bug fixes
1237
1297
1238
-
[Anthropic Claude Opus 4.6](https://www.anthropic.com/claude/opus): Assisted with NES mapper 5 (MMC5), mapper 24 (VRC6a), mapper 30, fixes in other mappers, and with general code optimizations and bug fixes.
0 commit comments