– fix(cartridge): Fix panic when invalid ROM file is loaded
– fix(console): Fix js builds not checking if has been SRAM
– fix(console): Save SRAM even if autosave fails during close
– fix(taskfile): Fix nointro:update task
– fix: Set exit code to 1 on error
– perf(apu): Optimize audio buffer
– perf(ppu): Slight optimization of sprite pixel fetch
– perf(ppu): Slight rendering optimization
– perf(web): Optimize wasm output with wasm-opt
– perf: Disable debug/trace on js and other code tweaks to shrink binary by 1MB
Others
– chore(cartridge): Add more context to invalid ROM error
– chore(cmd): Clean up versioning with functional argument
– chore(console): Clear audio buffer loading when a state
– chore(database): Add to-csv logs
– chore(database): Ensure response body is always drained
– chore(database): Generate gzipped database when writing CSV
–...
Atari 2600
- Improved 6502 CPU emulation; all unofficial opcodes are now implemented
- Improve handling of the HMOVE register
- Refactor of TIA; fixes many emulation issues but still imperfect
- Implement correct 6502 reset timing
Bandai - WonderSwan / WonderSwan Color
- Minor fixes to v30mz CPU emulation
- Emulate...
– Rewritten mappers : All.
– Rewritten WRAM, VRAM, PRGROM, CHROM and Nametebles management.
– Rewritten FDS support.
. Furthermore, an option has been added to select the mode for write operations. Until now, all writes were stored on an external file (diff file) to preserve the integrity of the disk image, now it’s possible to choose to write them directly to the FDS/QD file (making it portable to other emulators as well).
. Changed the format of the diff file, now I use the IPS format (which can always be applied to the original image).
– Rewritten the format and management of save states. WARNING save states of version 0.110 or earlier are no longer compatible.
– Rewritten the audio of the VRC7. Implemented the project « A YM2413 emulator written in C » of okaxaki :
...
– Upgraded wgpu to 0.17.2 to pick up a bugfix for the DirectX 12 backend where resizing the window would completely crash the program. This bug apparently did not affect the other wgpu backends
– Replaced the VRC7 expansion audio implementation with a stripped-down version of the YM2413/OPLL implementation from my Sega Master System emulator, which should be more accurate and also much more efficient
– Implemented the NES PPU’s grayscale bit, which was only used in a single officially released game: Noah’s Ark (EU) uses it for the water effect covering the bottom of the screen
– Made audio buffer size configurable instead of hardcoded
– mapper updates by @negativeExponent in #106
– Fix addition for vertically flipped sprites by @mkwong98 in #113
– corrections and some more mappers by @negativeExponent in #112
– fix warnings by @negativeExponent in #114
– mappers by @negativeExponent in #115
– Add Mapper 413 by @negativeExponent in #116
– rewrite jycompany mapper and add related mappers +others by @negativeExponent in #117
– mappers by @negativeExponent in #119
– a few mapper updates by @negativeExponent in #120
– Fix color emphasis emulation in Bisqwit’s NTSC filter by @Gumball2415 in #121
– Fix Action 53 initialization by @negativeExponent in #122
– Add dependency that made linux build fail by @roythearsonist in #125
– blargg NTSC Filter...
– Common: Cleanup media loading code
– Common: Add unknown files even if they don't exist in the game list.xml
– Common: Change position of menu items
– Common: Fix game paths starting with ./
– Common: Fixed media paths with Recalbox Gamelist.xml format
– Common: Added ability to use a custom gamelist.xml file in ROMS folders, replacing the list built-in game list (ROMFS.xml
– Common: Add SHOW_AVAILABLE menu option to hide missing files/ROMs/systems from the game list (reboot required)
– UI: Better...
- Added support to Wayland.
- Added support for "Fullscreen in window" with Wayland (the only type of fullscreen supported for now).
- Added iNES/NES 2.0 header editor.
- Added support for "Family Basic Keyboard" and "Subor Keyboard".
- It's possible to capture and release keyboard input with the shortcut "Scrollock" and open and
close a virtual keyboard with "CTRL+X".- Implemented the "Paste" function. It's possible to paste the text by dragging it in the main
window of the emulator or copying it and then press the right mouse button and selecting "Paste".
The text will be inserted through the simulation of the pressure of the keys and it will always
be possible to interrupt the insertion by pressing the ESC key. During the paste, the Fast Forwarding
will be active to reduce the waiting time.- Added support for the tape data recorder. Added a "Tape" submenu in the "NES"...
The 2.6.6 release is mainly a maintenance update for the mappers and emulation core with a few new features added in.
Some of these new features apply only to the Qt/SDL version of the GUI.
- Significant performance improvement / reduced CPU usage due to a rewrite of the 6502 CPU emulation code
- Fixed a PPU bug where the PPU would sometimes render the wrong backdrop color when rendering was left disabled at the start of a frame; this caused occasional top-of-screen flickering in Battletoads, which leaves rendering disabled for the first ~7 visible scanlines of every frame
- Fixed a bug that caused PAL audio sync to time to ~49.9 FPS instead of 50 FPS
- Added an option to have audio sync time to native NES speed (~60.1 FPS NTSC / ~50.007 FPS PAL) instead of aiming for exactly 60 FPS NTSC / 50 FPS PAL
- Note this will cause severe audio skipping if combined with VSync on a display with 60Hz refresh rate
The 2.6.5 release is a maintenance update that contains various fixes from a back log of bugs and feature requests over the past year.
Added support to Wayland.
Added support for "Fullscreen in window" with Wayland (the only type of fullscreen supported for now).
Added iNES/NES 2.0 header editor.
Added support for "Family Basic Keyboard" and "Subor Keyboard".
It's possible to capture and release keyboard input with the shortcut "Scrollock" and open and
close a virtual keyboard with "CTRL+X".
Implemented the "Paste" function. It's possible to paste the text by dragging it in the main
window of the emulator or copying it and then press the right mouse button and selecting "Paste".
The text will be inserted through the simulation of the pressure of the keys and it will always
be possible to interrupt the insertion by pressing the ESC key. During the paste, the Fast Forwarding
will be active to reduce the waiting time...
Shell:
Changes:
- FLTK: Update to latest lodepng
- FLTK: Use NST prefix for data directories in build (cpasjuste)
Fixes:
- FLTK: Better frame timing on non-60Hz screens
- win32: Fix minor code problems (mjunix)
Core:
Additions:
- Add support for Unlicensed MMC3 boards with PRG ROM over 512K
- Add support for Mapper 258 (UNL-158B)
- Add support for Mapper 400 (UNL-RET-X7-GBL)
Changes:
- Remove options for 8-bit audio and sample rates below 44100Hz
- Improve heuristics for VRC2/4 boards
Fixes:
- Fix IPS patching in cases where patches overlap ROM region boundaries
- Improve handling of fast...
- MingW64 Libretro fixes by @mkwong98 in #63
- Build against an older version of Ubuntu to attempt to increase native code backwards compatibility by @empathicqubit in #65
- Use Ubuntu Docker container, which is cleaner than Github runner by @empathicqubit in #66
- Document stepOut/stepOver functions. by @empathicqubit in...
- Common
- Mappers
- Bug fix for mapper 16 submapper 4, allow writes to address range $6000 - $600D.
- Bug fix for mapper 3 bus conflict logic. Bus conflicts are now only enabled for submapper 2.
- FDS IRQ emulation improvement.
- Implemented extra RAM for mapper 225.
- Win32 Debugger
- Fixed loading of saved debugger breakpoint data from previous sessions. This bug started occurring when the saved...
* Revert "ares: remove performance renderers"
* m68000: reimplement DBcc instruction with correct timing
* ares: remove performance renderers
* nall: fix many compilation warnings on macOS
* md: fix debug register sprite masking
* md: fix APU port in
* md: second attempt at vblank bit timing
*...
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.
RustyNES's second release for all three operating systems. Mappers 0-4 are supported. A list of all NES games and their associated mappers can be found here: http://tuxnes.sourceforge.net/nesmapper.txt
This release introduces a toolbar to RustyNES, allowing you to load games and save states with a file explorer. I also changed the rendering engine from SDL2 to Pixels. Unlike SDL2, Pixels integrates with a few different window frameworks (RustyNES uses egui).
The addition of a toolbar opens new opportunities for configuring RustyNES. Maybe I'll add gamepad support one day...