EmuCR Feeds
Email Us

jgnes v0.5.0 is released. A cross-platform NES emulator. Has a native frontend built using SDL2 as well as a web frontend that compiles to WASM and runs in the browser.

jgnes Feature Status:
Implemented:
Cycle-based 6502 CPU emulation, PPU emulation (graphics), and APU emulation (audio)
The most commonly used cartridge boards (aka mappers)
NROM
The most common NROM variants (UxROM / CNROM / AxROM)
MMC1
MMC3/MMC6
Some less commonly used cartridge boards
MMC2/MMC4
MMC5 including expansion audio
Konami VRC2 / VRC4 / VRC6 / VRC7, including VRC6 expansion audio
VRC7 FM synth expansion audio is not implemented; only one game used it, Lagrange Point
Sunsoft 5A / 5B / FME-7, including 5B expansion audio
Codemasters unlicensed board
Color Dreams unlicensed board
Bandai FCG-1 / FCG-2 / LZ93D50
The LZ93D50 variant that uses the Datach Joint ROM system is not implemented (iNES mapper 157)
Jaleco JF-11 / JF-14
GxROM
BNROM
NINA-001
P1 & P2 input with support for keyboard input and DirectInput gamepad input
Support for 3 different forced aspect ratios (NTSC, 1:1 pixel aspect ratio, 4:3 screen aspect ratio), plus an option for stretched/none
Overscan customization
A GPU-backed renderer based on wgpu with an option for integer upscaling + linear interpolation, producing a sharp but clean image even at higher resolutions and non-8:7 aspect ratios
Save & load state
Not Implemented:
Unofficial CPU opcodes
Cycle-accurate rendering effects of enabling rendering mid-scanline
DMC DMA cycle stealing and dummy reads, an obscure hardware quirk that affects very very few if any games
Color palette customization; the NES hardware directly outputs an NTSC video signal rather than RGB pixel grids, so any mapping from NES colors to RGB colors is an approximation at best
Lots of mappers, most notably Namco's custom mappers
Fast forward or rewind
Support for PAL/EU releases (the processor timings are different compared to NTSC US/JP)
Support for any controller port peripherals (e.g. the Zapper)

jgnes v0.5.0 changelog:
Additional mappers implemented:
Namco 108 (iNES mapper 206); used in multiple games including Pac-Mania and Gauntlet (unlicensed version)
Namco 108 variant w/ 128KB CHR ROM (iNES mapper 88); used in 3 games including Dragon Spirit: Aratanaru Densetsu
Namco 129 / 163 (iNES mapper 19), including Namco 163 expansion audio; used in multiple games including Digital Devil Story: Megami Tensei II
Namco 175 / 340 (iNES mapper 210); used in multiple games including Splatterhouse: Wanpaku Graffiti
NAMCOT-3425 (iNES mapper 95); used only in Dragon Buster
NAMCOT-3446 (iNES mapper 76); used only in Digital Devil Story: Megami Tensei
NAMCOT-3453 (iNES mapper 154); used only in Devil Man
Additional mapper features implemented:
Konami VRC7's FM synthesizer chip is now implemented; this chip was only used in Lagrange Point. (The JP version of Tiny Toon Adventures 2 uses the VRC7 board but doesn't use the audio chip)
The VRC7 implementation additionally will now work properly with older ROM dumps that don't specify an NES 2.0 submapper
In the native GUI app, most options can now be changed while a game is running
Input bindings notably cannot be changed while a game is running, for the moment
Renderer (SDL2/wgpu) and wgpu backend also cannot be changed while a game is running
Implemented fast forward with a configurable speed multiplier
Implemented rewind with a configurable rewind buffer length (10 seconds by default)
Removed the Adaptive VSync option because it isn't supported on any computer I was able to test on, including Windows with an Nvidia GPU. Fast VSync option is still present and is supported on common configurations
Web frontend changes:
Implemented input reconfiguration instead of having hardcoded key bindings
Changed the canvas to display random white noise instead of nothing at all before the first ROM file is loaded
Reduced the audio sync threshold to hopefully reduce audio lag at >60Hz refresh rates, although animation is unfortunately still somewhat choppy at high refresh rates
Added a button to upload a save file for the currently running game (for games with persistent save files, e.g. the Zelda games)
Made some minor tweaks to bring focus back to the emulator after clicking on certain UI elements, such as the Reset button
Changed the 'Open ROM file' button text to 'Open NES ROM file'
Fixed a very minor logging bug where the TRACE log message indicating that an address low byte overflow occurred during an absolute indexed read instruction was logged unconditionally instead of only logging when overflow occurred

Download: jgnes v0.5.0
Source: Here



Random Related Topic Refresh Related Topic

Random Related Topic Loading...

0 Comments

Post a Comment

Can't post a comment? Try This!