Changelog
- Fixed 'make install'.
- Added support for mapper 210 and improved support for Nes 2.0 format.
- Disabled creation of mimeinfo.cache with 'make install' (#191).
- With some DE if I don't reset the min and max size of the window with reset_min_max_size()
the fullscreen is wrecked (#186). - Improved high dpi support.
- Rewrote part of the overlay.
- Uniform font used in the overlay.
- Uniform graphics management between OpenGL and D3D9.
- Fixed the shaders "NTSC 2Phase Composite" and "Old TV" in D3D9 version (#188).
- Sometimes the mouse cursor may not be visible. Fixed.
- Entering or leaving the fullscreen could cause the window to lose focus. Fixed.
Changelog
- Updated translation from Crowdin (thx to Алексей Тимонин, MS-PC, tch_oscomp, Ömercan Kömür, Matheus).
- Added Chinese translation (thx to owomomo).
- Added an option to show frames and lags counters.
- Rewritten the audio of the VRC7.
Implemented the project "Cycle-accurate emulation of Yamaha OPLL" of Nuke.YKT :- https://github.com/nukeykt/Nuked-OPLL
Many thx to Nuke.YKT for his wonderful work.
- https://github.com/nukeykt/Nuked-OPLL
- Updated the icon and the banner of the info page.
- a big thank you to the papirus icon theme guys for letting me use
their icon (https://github.com/PapirusDevelopmentTeam/papirus-icon-theme) - thanks also to the unknown author of the banner who, unfortunately, I
was unable to identify.
- a big thank you to the papirus icon theme guys for letting me use
- Increased compatibility with OpenGL shaders.
Fixed many bugs and crashes that prevented some OpenGL shaders
(https://github.com/libretro/glsl-shaders) from loading and functioning correctly. - Implemented the ability to select the resolution of the fulscreen.
- Added the option to automatically set the refresh rate based on the
region of the rom used (50/100Hz for PAL/Dendy roms, 60/120Hz for NTSC)
if the monitor supports them. The rewriting of the fullscreen management
allowed to correct some bugs present for a long time (for example under
Linux/BSD the fullscreen window did not always identify the real screen
size available because it did not take into account the various task
bars and menu bars). - Fixed initial positioning of the emulator window.
If, in a multi-monitor environment, the window is positioned on a
display that is no longer connected upon restart, the position may no
longer be valid and the emulator window may not be visible. - Implemented the ability to view the menu bar in fullscreen mode
through a configurable shortcut (default is ALT+M). - Implemented the double click management on the menu bar:
- left button hides toolbar and statusbar
- right button hides the whole gui (as when using the shortcut ALT+G "Toggle GUI in window").
- Now it's possible to use the ESC as a shortcut.
- The code is now QT6 compatible.
- Added the ability to customize NTSC filters in video settings.
- Fixed the aspect ratio of the NTSC filters in fullscreen mode.
- Updated to FFmpeg 4.4.
- Fixed video recording in HENC format at high quality.
- Added support for the Opus audio format in audio recording.
- Added an option to change CPU/PPU alignment at power-up/hard reset.
- Added this 3 options for the Famicom Disk System
- "Insert disk 1 side A at power-up/reset"
- "Switch the disk/side automatically"
- "Use fast forward when loading the BIOS or disk/side"
in the "Settings->General". They are activated by default and do what is written in the description.
- Now, by default, only one instance of the emulator is allowed to run.
To allow the execution of more instances it is necessary to enable the
new option in "Settings->General". - Added the management of the double click when selecting a rom from a compressed archive.
I honestly don't know why I haven't already implemented it. - Fixed inversion of controller mode NES/Four Score.
- Added the cmd line option "--hidden-gui" to start the emulator with
hidden GUI (useful for frontends) and that it's also possible to do with
the shortcut ALT+G. - Rewritten overlay and widget for save slot selection and increased the number of slots to 12.
- Added an option to re-enable the sprite limit when a game needs it (https://wiki.nesdev.com/w/index.php/Sprite_overflow_games).
- Added support for subtitles of TAS videos. They will appear in the info bar with center alignment.
- Rewritten the cheat editor to make it easier and more manageable.
- Added sample rates of 96000 and 192000 and improved the selection of the
sample rate of audio codecs that don't provide information about those supported. - Rewritten the input management through gamepads and joysticks.
- Added multithreading management.
- In the Linux version added the dependency to libudev.
- Increased the emulation speed by 7-10%.
- Eliminated (especially in the windows version) blocks and slowdowns
of the emulation in the case of gamepads configured but not connected to
the start of the emulator. - Uniformed the management of inputs on all the various ports.
- Separeted joystick/gamepads configuration from the port configuration,
now each gamepads will have its own configuration. - Added an option to set the deadzone
- Added a new tool: "Joypad/Gamepad Debug". With this you can see the info
on the connected devices, it is also possible to disable the reading of
certain axes and buttons from the gamepad status reading routine. In addition
to debugging reasons, it is an option to be able to use gamepads that send
incorrect values on some axis or button while still allowing their use. - Added automatic recognition of the type of gamepad with relative
configuration. Supported for now Steam Controller (only under Linux),
Xbox 360 Controller and Playstation 3 (thx to Gianmarco Trentadue for for the donation) and 4
controllers which are the ones I had at my disposal. It should also work with Xbox One controllers but
I couldn't check it as I didn't have any. - NOTICE : All buttons bindings will need to be reconfigured.
- Fixed many many many other bugs.
Changelog
-
Updated translation from Crowdin (thx to Алексей Тимонин, MS-PC, tch_oscomp, Ömercan Kömür, Matheus).
-
Redesigned settings GUI.
-
Added an option to flip the screen horizontally (even when rotated).
-
Added an option to make the input (keyboard and controller) "follow" the orientation of the screen.
Try to replay your favorite games in this mode, you will find it fun. (Thx to eugene-s-nesdev for the idea). -
Added "AxelayNES" Demo to the database.
-
Added spanish traslation of Ganbare Goemon Gaiden 2 to the database.
-
Added an option to reverse bits of DPCM (also in the NSF player).
To understand what "reverse" is for, take a look at this post http://forums.nesdev.com/viewtopic.php?f=2&t=20308. -
Added the preview of the last screen image of the saved states.
Now it is always possible view the screen of the saved states when you move the mouse between the various
Slots in the "State" menu (slots with the available preview will be marked with a "*"). It's also available in the
combobox of the toolbar widget.The preview will be displayed as a tooltip. -
Added, thanks to the FFMPEG libraries, the ability to create video and audio files of the game session.
The supported video formats are:
- MPEG 1 Video
- MPEG 2 Video
- MPEG 4 Video
- MPEG H264 Video
- High Efficiency Video Codec
- WebM Video
- Windows Media Video
- AVI FF Video
- AVI Video
The supported audio formats are:
- WAV Audio
- MP3 Audio
- AAC Audio
- Flac Audio
- Ogg Audio
The parameters relating to the recording are available in the configuration GUI.
It's possible to start a recording through the keyboard shortcuts (CTRL+A for audio and CTRL+V for video)
also from the widget located at the bottom right of the statusbar. Clicking on it with the left mouse button will
start the last type of registration, with the right button a context menu where you can select what to start.
Once the recording has started, you can stop it either with the same shortcuts with which it was started or by
clicking on the statusbar widget.
The emulator will always remember the last used settings. -
Added "Raw" palette. To understand what this palette is, I use the explanation found on
Emulation General Wiki https://emulation.gametechwiki.com/index.php/Famicom_Color_Palette :
"option to output the raw chroma, level, and emphasis from the PPU through the RGB color channels.
This by itself produces an image with completely bizarre colors, but this can be decoded by shaders
to generate actual colors, the main examples being GTU-Famicom and nes-color-decoder".
So it's usable with all shaders that support it:
cgwg-famicom-geom.glsl, gtu-famicom.glsl or ntsc-nes.glsl that you find in the
libretro glsl-shaders repository https://github.com/libretro/glsl-shaders.
P.s. this works with OpenGL version. -
Fixed compatibility with GLSL shaders (like MMJ_Cel_Shader.glslp or all crt-royale.glslp series).
You can find this shader at glsl-shaders https://github.com/libretro/glsl-shaders and
common-shaders https://github.com/libretro/common-shaders. -
Fixed VRC7 sound pitch.
-
Fixed saving of window position in a multi-monitor setup (thx to baraclese for the patch).
-
Fixed the restoration of the hidden state of the toolbar widgets.
-
NSF/NSFe player. Added a new effect and revised the "bars" effect. It's now possible to move between the
various effects using the up and down of the pad or by clicking on the right or left side of the effect viewer.
Changed the help text explaining the pad commands. -
Redesigned the command line help display.
-
On a computer where the amulator had never been started, at the first run it was started in the top left but
hiding the window frame preventing it from moving or closing. Fixed. -
Now the settings window is resizable.
-
Fixed several bugs in the Cheat Editor and in the Input Settings.
Cheat Editor:
- Fixed a possible crash that occurs when entering a new cheat.
- Fixed several table display errors.
- Active cheats are now easily identifiable thanks to a different color.
- Fixed a bug that did not activate the selected cheat correctly.
- Cheat description tooltip.
Input settings:
- Minor cosmetic changes.
-
Fixed many many many other bugs.
Changelog
- Added support for FreeBSD (thx to TCH68k for for the initial patch, his tests and his support).
- Overlay screen redesigned and rewritten.
- Added an option to rotate the screen.
- Added Nuke.YKT VRC7 patch dump.
- Added Brasilian translation (thx to Matheus on Crowdin).
- Updated translation from Crowdin (thx to Алексей Тимонин, MS-PC, tch_oscomp, Ömercan Kömür).
- Input management reorganized.
- Added homebrew "Neon Genesis Evangelion: Third Impact" and "Fire Hawk (PAL)[!].nes" to the database.
- Added traslation of Ganbare Goemon Gaiden 2 to the database.
- Added a shortcut to save a screenshot of unaltered NES screen (#90).
- Now you can also disable keyboard shortcuts.
- Fixed warning compilation with QT 5.15.
- Fixed compilation errors with the GCC -fno-common option (GCC 10).
- Fixed compilation with recent MSYS2.
- Fixed possible audio interruption (Windows).
- Fixed the support for the RAR archive.
- Fixed a possible crash when drag the window onto another monitor (Windows).
- Fixed many many many other bugs.
Changelog
- Added Spanish translation (thx to MS-PC on Crowdin).
- Added Hungarian translation (thx to tch_oscomp on Crowdin).
- Added Turkish translation (thx to Ömercan Kömür on Crowdin).
- Added "Toggle GUI" option to toggle on/off the Menu+Status bars (many thx Sembiance for the contribution).
- Added the option "Use integer scale in fullscreen" which toggle the vertical stretch in the fullscreen.
- Added in database "Airwolf" roms and 2 hacked roms of "Kid Dracula" (mlla1i.nes and ikt73k.nes).
- Added keyboard/controller shortcuts for the rewind functions :
I introduced the shortcut to activate and deactivate the "rewind mode" and the shortcuts for play,
pause, step backward, step forward, fast backward and fast forward, all programmable.
For the keyboard the defaults are :
CTRL+Left : Active/Deactive Rewind Mode
Left : Single step backward
Right : Single step forward
Down : Switch velocity for fast backward
Up : Switch velocity dor fast forward
Del : Play
Page Down : Pause - Changed the management of the text on the screen which is now clearly legible at any resolution.
- Possible infringing on the patent, replaced controller image (thx RokkumanX).
- Fixed the freeze when start the emulator with fullscreen already enabled.
- Fixed some glitches with some compositors (Compton for examples).
- Fixed management of audio devices in alsa backend.
- Fixed segfault when load a savestates with rewind functions disabled.
- Fixed loading of the rom with header containing "DiskDude!".
- Fixed text surface cleaning.
- Fixed saving and loading of cheats.
- Fixed audio pops when NSF/NSFE song start and improved audio/video sync.
- Fixed possible crash in OpenBSD version.
- Fixed keyboard shortcuts management.
- Fixed compilation with QT 5.13.
- Many others fixes.
Changelog
- Fixed graphical problem with xBRZ filter.
- Fixed mappers 50, 90, 156, 178, UNL-KOF97, UNL-VRC7, MMC3 KT-008 PCB.
- Fixed possible issue with High DPI monitor.
- The shortcuts were not applied and saved correctly. Fixed.
- For the general UxROM mapper use a full 8-bit bank select register.
- Fixed compilation with QT 5.12 under Windows.
- Fixed the management of the zapper that now also correctly manages the X coordinates.
- Updated the Russian translation (thx Alter0ne).
- Fixed the disappearance of the mouse cursor after two seconds.
- Fixed the emulator freezing if pressed "Switch Sides" hotkey.
- Added the rewind function that replaces the timeline.
Now it is possible to "rewind" the game. Once the rewind function has
been activated (at any time during the game) it is possible to move
forward and backward in the gameplay one frame at a time or at different
speeds (1x, 2x, 4x, 8x, 16x, 32x or 64x). You will be able to move
freely in the recording until you press the "play" button, from that
moment all the gameplay memorized after the selected frame will be lost.
In the "general settings" you can select the duration in minutes of the
recordable gameplay (the different options are: disable, 2mins, 5mins,
15mins, 30min, 60mins or unlimited) but keep in mind that the more
minutes you can record the more space on the hard disk will be used.
Changelog
-
Added support for the UNIF mapper UNIF DREAMTECH01.
-
Fixed mapper MMC5 and 213.
-
Added support for NSFe format.
-
Added OpenBSD support.
-
Added support for IPS, BPS and XDELTA patches.
It's possible to patch the ROM through 3 ways:- rename the patch with the same name as the ROM and copy it to the same directory where the ROM is present (example: if "Adventures of Lolo (U) [!].nes" is the name of the ROM, rename the patch in "Adventures of Lolo (U) [!].ips")
- drag it to the emulator window (compressed patches are supported)
- apply it via the "Apply Patch" item in the File menu (compressed patches are supported)
If more than one patch is present in the compressed file, it will always be possible to select which one to apply. In order to automatically apply a patch to a ROM, in addition to method 1) it is also possible to create a compressed archive that contains both the ROM and the patch. In this case the name of the ips file isn't important (example : compressed file contain "Adventures of Lolo (U) [!].nes" and "adv.ips").
-
Rewritten the UI for the settings.
-
Added the compatibility of the UI for High DPI.
-
Rewritten and uniformed GFX stack.
-
Increased performance by 20%/30%.
-
Dropped out dependencies from SDL and QT4 libraries.
-
Now it's necessary that QT5 have compiled with support for SVG (and OpenGL for OpenGL version).
-
Fixed the management of VSync (when you change this option you need to restart the emulator to apply it correctly).
-
Added the ability to change shader parameters if supported by the shader.
-
Added a palette editor.
-
Added in Video Settings an option to show FPS.
-
Eliminated a lot of unnecessary code.
-
Fixed many many bugs and increased the accuracy of emulation.
Changelog
- I had forgotten in release v0.101 to add support for NSF and UNIF files in compressed archives.
Changelog
- Now puNES is UTF-8 compatible.
- Now puNES is a NSF player.
- Added support for the mappers: 6, 27, 30, 35, 43, 123, 134, 151, 155, 162, 166, 167, 168, 187, 188, 190, 196, 197, 250, 252, 253, 254.
- Added support for the UNIF mappers: TF1201, TEK90, EH8813A, Sachen-8259A, 11160, G-146, 12-IN-1, 411120-C, T-262, BS-5, 8157, 830118C, 8237, 8237A, NTD-03, 42in1ResetSwitch, CNROM, Ghostbusters63in1, 64in1NoRepeat, 70in1, 70in1B, H2288, KOF97, 603-5052, CITYFIGHT, TFROM, BB, T-230, 43272, AC-08, KS7013B, SA-72008, MTECH01, UNIF FS304, SA-70037, YOKO, SA-9602B, CC-21, LH32, NovelDiamond9999999in1, SL1632, SA-72007, Sachen-8259B, SHERO, SuperHIK8in1, SMB2J, AX5705, Supervision16in1, SA-0036, GS-2004, GS-2013, KS7012, KS7037, KS7016, KS7017, LH10, KS7032, SC-127, RT-01, MASLIB, BOY, 8-IN-1, HP898F, 158B, 810544-C-A1, KS7031, DRAGONFIGHTER, Super24in1SC03, VRC7.
- Fixed mappers: 15, 45, 52, 60, 108, 116, 114, 121, 205, 219, MMC5, Tengen, Waixing.
- Implemented auto eject and auto insert of fds disks when you switch side (ALT+S) or change disk.
- Added support for multithreading in the xBRZ filter.
- Added the option to select the output audio device.
- Added "Fullscreen in window" options.
- Added "Start/Stop record WAV" to record audio.
- Added "Hide Zapper cursor" option.
- Added the Overclocking option.
- Added full support to XInput (Windows version). No more input lag and no more problem with any controller.
- Added full support to Vs. System.
- Eliminated the "Software" mode in OpenGL version.
- Eliminated dependency from the "autoconf-archive" package.
- Eliminated the Audio Low Quality option.
- Separate management of software filters and shader. Many shaders give different results depending on the filter used because they have been designed for an input image of 256 * 240 pixels.
- Separate management of the size of window and software filters.
- Rewrote the overscan management.
- Rewrote the input management and added support for SNES Mouse, Arkanoid Paddle and Oeka Kids Tablet.
- Eliminated a lot of unnecessary code.
- Fixed many many bugs and increased the accuracy of emulation.
- Added other options and features that I don't remember now.
Changelog
- Added support to mapper 40.
- Fixed aspect ratio of NTSC software filters.
- (OpenGL) Add the "Disable RGB FBO" option. Some older drivers of video cards do not support them properly altering the color palette with shaders.
- Added the pixel aspect ratio of PAL TV.
- Added "xBRZ 5x" and "xBRZ 6x" software filters.
- Added the possibility to make screenshots (ALT+X) which will be automatically saved in the folder "screenshot" of the base directory.
- Added "Unlimited sprites" (ALT+U) option.
- Added "Hide sprites" (ALT+V) and "Hide background" (ALT+B) options.