Mednafen jest bardzo udanym multiemulatorem, który powstał przede wszystkim z myślą o linuksie, jednak dzięki portowi pod win32 i ostatnio testowanej wersji x64, możemy pobawić się nim także pod okienkami.
Jest na tyle dobrym udawaczem, że na podwalinie jego kodu powstały takie emulatory jak VBjin (VirtualBoy) i PCEjin (PCEngine) Delikata.
Menfagen pozwala zaemulować platformy Atari Lynx, GameBoy (Color), GameBoy Advance, NES, PC Engine(TurboGrafx 16), SuperGrafx, Neo Geo Pocket (Color), PC-FX, WonderSwan (Color)), PSX i SEGA SATURN.
Wersja unstable, jest wersją testową - dającą możliwość sprawdzenia i przetestowania ostatnio zmodyfikowanego kodu tego programu. Ostatnia pełna wersja multiemulatora Mednafen o numerze 1.22.2 ukazała się 22 kwietnia 2019.
December 19, 2019:
- PSX: Handle SPU CD volume as signed 16-bit instead of unsigned; fixes lowest volume setting in "Star Wars Dark Forces".
- December 18, 2019:
- PSX: Tweaked PAL pixel aspect ratio, tweaked nominal FPS values, added setting "psx.correct_aspect", and fixed light gun Y positioning with PAL games.
December 16, 2019:
- SNES-Faust: Added SDD-1 emulation.
November 26, 2019:
- SNES-Faust: Allow emulation to switch away from the SPC700 during execution of opcode 0xFA, between the read and write, to fix bonkers
- audio that leads to a hang in the "Tenshi no Uta" game.
- SNES-Faust: Extended DMA NMI delay kludge to cover 8-bit LDX #imm to fix hang in "Frisky Tom" in "Nichibutsu Arcade Classics".
- SNES-Faust: Added DSP-2 emulation.
November 19, 2019:
- SNES-Faust: Added MSU1 support.
- SNES-Faust: Added a multithreaded PPU renderer, controlled via the new "snes_faust.renderer" setting, disabled by default.
- SNES-Faust: Added SuperFX overclocking support, controlled via setting "snes_faust.superfx.clock_rate".
- SNES-Faust: Added SuperFX instruction cache emulation support, controlled via setting "snes_faust.superfx.icache", disabled by default.
- SNES-Faust: Added support for Game Genie cheats(entered via Mednafen's cheat system).
- SNES-Faust: Added setting "snes_faust.region" to allow for overriding the automatic region detection and emulating one region while reporting the different region to the game.
November 17, 2019:
- On Windows, call CoInitializeEx() with COINIT_MULTITHREADED before calling SDL_Init(), to prevent potential initialization errors with Mednafen's
- WASAPI sound code.
November 16, 2019:
- Using drive-relative paths on Windows should no longer make a mess due to Mednafen looking for and putting files in the wrong place.
November 14, 2019:
- SS: Removed "ss.midsync" setting; the functionality it controlled is now always enabled.
- Added settings "affinity.cd", "affinity.emu", "affinity.video", and "ss.affinity.vdp2" to specify CPU thread affinity masks for the CD read threads,
- main emulation thread, video blitting thread, and Saturn VDP2 rendering thread, respectively. Setting thread affinities properly can improve
- Saturn emulation performance on a dual-core CPU with hyperthreading.
- Cleaned up multithreading code and API.
November 10, 2019:
- Removed "using namespace Mednafen;" from types.h, and related changes.
October 25, 2019:
- SNES-Faust: Ignore frameskip if interlace mode is enabled, to avoid feeding uninitialized data into the deinterlacer which leads to a crash.
September 18, 2019:
- Implemented workaround in OwlResampler_neon.inc for a C++ parsing bug in gcc 9.x.
September 13, 2019:
- Apple2: Renamed(with backwards-compatibility aliases) video mode "rgb_alt1" to "rgb_alt" and "rgb_alt2" to "rgb_alt_tfr", and added new video mode "rgb_tfr".
- Apple2: Added support for 32-color custom palettes(will automatically enable a text fringe reduction RGB mode if used).
→ NOWSZY [MULTI] Mednafen x86/x64 1.32.1 Unstable 4/04/2024
Mednafen 1.32.1 UNSTABLE 4/04/2024
March 15, 2024:
- Apple2: Fixed erroneous parsing of WOZ file padding bytes and unknown chunks' data as 8-byte chunk headers.
- Fixed broken handling of the end-of-stream condition when reading from non-compressed files stored in ZIP archives;
- fixes loading of such Apple II WOZ disk images and CloneCD CD images.
January 17, 2024:
- SS: Implemented workaround for gcc bug #113255 in the VDP1 rasterization code.
January 14, 2024:
- Apple2: Fixed typos/brainfart that broke language card and ROM card control accesses via $C08F.
Mednafen 1.32.0 UNSTABLE 5/01/2024
December 29, 2023
- Silently disable keyboard grabbing temporarily while the netplay text input, debugger, or cheat interface is active, to avoid complicated text input problems with AltGr and low-level keyboard hooks on Windows.
December 25, 2023
- Fixed directory creation error(s) when trying to run Mednafen in the root directory of a (non-subst'd) drive on Windows, a regression introduced in 1.22.0-UNSTABLE.
December 24, 2023
- PSX: Added support for Konami's "Pop'n Music" controller.
December 22, 2023
- Added setting "input.grab.strategy" to control when the system keyboard and mouse are grabbed while input grabbing is toggled on in Mednafen. Note that SDL2 2.0.16 or later is required for the non-default "auto" option to fully work.
December 18, 2023
- Fixed excessive CPU usage when sound is disabled or fast-forwarding is active while in frame advance/pause or in the cheat interface.
December 17, 2023
- No longer set environment variable "__GL_SYNC_TO_VBLANK", instead relying only on SDL_GL_SetSwapInterval(), as it seems to work fine nowadays with Nvidia's binary Linux driver, to avoid thread safety issues with environment modifications.
- Renamed configuration macro "PSS_STYLE" to "MDFN_PSS_STYLE", and path-separator string macro from "PSS" to "MDFN_PSS".
December 15, 2023
- PSX: Renamed setting "psx.dbg_level" to "psx.dbg_mask", and changed its type to a multi-enum, to allow for more granular enabling of debug messages.
- Added SettingsManager::GetMultiM() and MDFN_GetSettingMultiM() functions, which will return the setting's enum values OR'd together. abort() when SettingsManager::GetUI(), SettingsManager::GetI(), or SettingsManager::GetF() is called for a MDFNST_MULTI_ENUM-type setting.
- PSX: Snoop additional BIOS tty stdout functions when setting "psx.dbg_level" is 2 or higher.
December 2, 2023
- Patched SDL2 in the Windows build toolchain to ignore synthetic Left CTRL key events generated by AltGr, when keyboard input grabbing is active.
- Demo: Added an interactive graphical keyboard test mode to check input grabbing and SDL2 keyboard support, among other things, activated by changing the value of new setting "demo.mode" to "keyboard".
November 29, 2023
- PCE, NES: Fixed broken rendering in the graphics debugger when the OSD pixel format is not the same as the emulation video pixel format.
November 28, 2023
- Changed the OpenGL RGB555 support(e.g. via the "video.glformat" setting) to use a pixel format and type of GL_RGBA and GL_UNSIGNED_SHORT_5_5_5_1(instead of GL_BGRA and GL_UNSIGNED_SHORT_1_5_5_5_REV as before).
- Set emulation video texture parameters GL_TEXTURE_WRAP_* to GL_CLAMP before trying to set them to GL_CLAMP_TO_BORDER, to avoid texture wrapping on pre-1.2 OpenGL.
November 26, 2023
- Added support for 16bpp video/framebuffer modes, dependent on specific emulation module support, when OpenGL is disabled.
- Blocked the graphics debugger from being selected when it's not implemented for the current emulation module.
- Fixed hang when a post-startup error occurred during video reinitialization or blitting, due to erroneously unlocking a mutex twice.
November 23, 2023
Updated toolchain for official Windows builds(non-Win9x)
binutils 2.28 -> 2.28.1
flac 1.3.2 -> 1.3.4
mingw-w64 5.0.3 -> 5.0.5
SDL2 2.0.8-11835 -> 2.28.5
zlib 1.2.8 -> 1.2.13
Additionally, the 32-bit build of SDL2 has been patched to restore support for Windows 2000, broken since the migration to SDL2 in Mednafen 1.x.
November 21, 2023
- Apple2: Delay Disk II processing of normal flux pulses vs. random noise pulses, and disable the 500ns delay pseudorandomly(50% probability) added to normal pulse detection, as it breaks WOZ dumps of "Test Drive" and "Wizardry".
November 19, 2023
- Fixed design flaw in MDFN_strargssplit() that broke handling of an escaped backslash immediately preceding a closing double quote character.
November 18, 2023
- Documentation: Added support for hyperlinks to settings in the description text for settings, custom palettes, and internal databases, by enclosing the setting name in double quotes and prefixing the name with ASCII control character 5.
- Fixed broken handling of octal along with a few edge case issues in MDFN_strunescape().
- In MDFN_strescape(), escape control characters in 3-digit octal instead of 2-digit hex or 1-digit octal to avoid potential conflicts with subsequent characters.
October 21, 2023
- Align QTRecord CSCD video codec line data to 4-byte boundaries, as is correct, to fix broken recorded video in some circumstances.
October 20, 2023
- Sega Saturn Parse the 32-byte region area data in addition to the 1-byte region characters when determining the region to emulate.
October 18, 2023
- Sega Saturn Extend previously-undocumented bootable ROM cart support from 1MiB to 48MiB, with support for 512KiB backup memory if 32MiB or smaller, and force full cache emulation to be enabled when running with a bootable ROM cart image.
- Sega Saturn When loading a save state, mark internal and cart backup memories as dirty only if loading the state actually changed them, to try to avoid excessive disk writes when using state rewinding.
- Sega Saturn Added support for routing SCSP MIDI output to stdout, activated by changing the value of the new "ss.midi" setting to "stdout". Note that byte values of 0x1B will be filtered from the output, and timing synchronization issues limit its uses outside debug text output.
October 12, 2023
- Sega Saturn Corrected behavior of VDP2 color calculation blending when in both hires mode and a non-zero color RAM mode.
October 11, 2023
- Sega Saturn Prevent VDP2 color calculation blending with a transparent sprite shadow pixel beneath the topmost layer; fixes erroneous opaque red shadows under units during the last episode's first battle in "Sakura Taisen".
October 2, 2023
- Sega Saturn Added "Gambler Jiko Chuushinha: Tokyo Mahjongland" to the internal database of games to use full cache emulation with, to fix octopus screen flickering.
September 22, 2023
- Apple2: Error out when loading WOZ 2.1-format images with FLUX chunks, as they're not currently supported.
September 21, 2023
- Apple2: Added "rgb_video7" video rendering mode, which supports the additional graphics modes offered by the Apple IIe
- Video 7 RGB interface, one of which is used by Sierra's AGI games, and provides two distinct grays in all graphics modes.
September 14, 2023
- Apple2: Added "apple2.input.kb.auto_repeat" setting.
- Debugger: In the memory editor, the Escape key will now exit text entry prompts and editing mode.
- Debugger: Don't set a register's value to 0 when the register edit text entry string is empty or completely invalid.
September 13, 2023
- Fixed bug that could cause nearly all hotkey/command key functions to trigger spontaneously when Mednafen has been running for around 49.7 days
- Changed the default mapping for exit to just F12 instead of ESC and/or F12.
- Added a new hotkey for closing the netplay popup, by default mapped to "ESC", controlled by setting "command.close_popup".
September 10, 2023
- Apple2: Added "rgb_qd" and "rgb_qd_tfr" video rendering modes, which will render DHGR at quarter-resolution, and provide two distinct grays in all graphics modes.
September 9, 2023
- Apple2: Renamed keyboard input mapping settings to reduce their lengths, and documented the caps lock default position setting.
- Apple2: Changed how HGR is handled with the "rgb_alt" and "rgb_alt_tfr" video rendering modes, for consistency with DHGR and to correct a few glitches.
August 31, 2023
- Apple2: Added an adjustable composite color video sharpening filter, controlled by the new setting "apple2.video.postsharp".
May 7, 2023
- SNES-Faust: CPU writes to VRAM during active display are now blocked. Fixes missing dialog box and text in "Mazinger Z", title screen corruption in "NBA Pro Basketball: Bulls vs Blazers" and "Shin Nihon Pro Wrestling: Chou Senshi in Tokyo Dome", and graphical garbage during startup in "Zen-Nihon Pro Wres". May break ancient ROM hacks and fan translations.
April 17, 2023
- Include general mode(read, write, read+write) in file open error messages.
April 12, 2023
- Added command-line option "-ovconfig", to load global override settings from the specified file. The global override settings will override any settings loaded from "mednafen.cfg" or set via command-line arguments, but will be overridden in turn by more-specific per-module and per-game override configuration files.
April 4, 2023
- Apple2: Added high-level(no seek delay) ProDOS-compatible hard disk drive emulation, usable by loading a raw hard disk drive image with an "hdv" file extension, and through the "hdd" directive in a MAI file.
March 28, 2023
- Apple2: Added support for Apple IIe and Enhanced IIe, selectable via changing the new "apple2.model" setting, or by utilizing the new "model" directive in a MAI file.
- Apple2: When loading a floppy disk image from a ZIP archive without a MAI file, all other floppy disk images with the same extension in the same directory in the ZIP archive will now also be loaded automatically. If desired, this feature can be disabled by setting the new "apple2.multiload" setting to "0".
March 26, 2023
- Apple2: Added setting "apple2.input.kb.ghosting", default value of "1", that can be set to "0" to disable emulation of spurious ghost keypresses.
March 25, 2023
- Apple2: Increased the maximum value of the "apple2.video.color_smooth" setting to "2", which will enable more-aggressive composite video color smoothing.
March 6, 2023
- Use AX_APPEND_COMPILE_FLAGS() instead of AX_CFLAGS_GCC_OPTION() in the configure script.
February 24, 2023
- Sega Saturn Enable data cache bypass kludge for "Kanzen Chuukei Pro Yakyuu Greatest Nine (Japan)", to fix game hangs.
- Sega Saturn Enable full cache emulation for "Gal Jan (Japan)", to fix a hang after a game ends.
- Sega Saturn Enable data cache bypass kludge for "Creature Shock: Special Edition (USA)", "Magic Carpet (Europe)", and "Manx TT SuperBike (Europe)", to fix hangs/crashes.
- Sega Saturn Enable full cache emulation for the Europe and Germany releases of "Revolution X", to fix hangs.
February 7, 2023
- SNES-Faust: Implemented a minor SA1 CPU emulation optimization.
January 29, 2023
- Fix potential stack corruption due to insufficiently large array in the Win32-utilizing version of Time::LocalTime().
October 20, 2022
- SNES-Faust: When a write to INIDISP changes the force blank bit from 1->0, only trigger OAM address reset if the write occurred during the first line of vblank(semantics might not be totally correct); fixes disappearing graphics glitches in "Wordtris".
September 4, 2022
- SNES-Faust: Fixed distorted graphics in "Marvelous" and "Bishoujo Janshi Suchie-Pai" due to hires color math emulation inaccuracies.
→ NOWSZY [MULTI] Mednafen x86/x64 1.31.0 Unstable 27/08/022
Mednafen 1.31.0 UNSTABLE 27/08/022
August 22, 2022:
- SNES-Faust: Fixed garbage MSU1 audio on big-endian platforms.
August 15, 2022::
- SS: Added "Real Bout Garou Densetsu" to the internal database of games to enable full cache emulation with, to fix startup hang after skipping the BIOS bootup animation, a regression introduced in 1.26.0-UNSTABLE.
August 11, 2022::
- VB: Don't flip framebuffers at the first start of drawing to the framebuffer after power-on, and (always) flip framebuffers when XPRST is triggered, per tip from blitter.
August 6, 2022::
- When running the configure script with --with-external-trio, pkg-config information is now used preferentially if available.
July 28, 2022::
- SNES-Faust: Added mouse emulation. July 25, 2022:
- SNES: Fixed #if/#ifdef typo in libco PPC code that reportedly broke libco on PPC when compiling with clang.
July 16, 2022:
- MD: Fixed bad values in the PAL V28 VCounter table(though normal resolution interlace VCounter stuff still needs to be fixed). Fixes glitches and hang in the Europe release of "Donald in Maui Mallard".
- Fixed some M68K instruction and exception execution time inaccuracies.
- Implemented emulation of M68K instruction Scc's dummy read.
July 4, 2022:
- SS: Added basic ST-V support.
- SS: In SMPC INTBACK command processing, when starting controller reading after returning SMPC status, wait for Continue/Break *before* waiting for the end of VBlank, prioritize Continue over Break, and don't allow the wait for end of VBlank to be interrupted by setting the Break bit, per tests on a SS.
June 30, 2022:
- Extended support for configuring buttons on virtual ports from port 12 to port 13, using new key combo ALT+SHIFT+Keypad 3, and switching devices by CTRL+SHIFT+Keypad 3, for future use.
June 25, 2022:
- Added std:string variants of MDFN_strazicmp().
- Adjusted minimum file extension search priority(e.g. for ".bin" and ".exe" extensions) from -80 to -1000.
June 20, 2022:
- Added initial value argument to crc16_ccitt().
June 14, 2022:
- Added support for returning CRC32 values in VirtualFS:finfo(), for entries in a ZIP archive.
June 12, 2022:
- SS: Trigger mid-frame synchronization when going into vblank if not already triggered by SMPC INTBACK command processing.
March 26, 2022::
- SS: When VDP2 per-dot RBG0 coefficient reading is enabled, and a per-dot coefficient read is attempted from a memory region not configured for that purpose via RDBS, force the coefficient data to 0, instead of using the per-line coefficient data. Fixes graphical glitches in "Radiant Silvergun" when starting a new game after interrupting the attract mode during the AKA-O battle.
March 23, 2022:
- SS: Forcibly disable NBG1-3 only if both RBG0 and RBG1 are enabled via BGON, instead of only checking if RBG1 is enabled; fixes missing/glitchy graphics in "Houkago Ren'ai Club: Koi no Etude".
March 9, 2022::
- SNES-Faust: Fixed broken ExLoROM support.
- PCE, PCE-Fast, PC-FX: Update channel 1 frequency cache upon LFO frequency register writes(the way the channel 1 frequency and LFO frequency are combined is still inaccurate, however, causing frequency update timing granularity to be too high).
February 4, 2022::
- SNES-Faust: Fixed PPU window emulation bug that caused graphical glitches with a white circle at a few places in "Final Fantasy 5".
February 2, 2022::
- PC-FX: Expanded external backup memory to 128KiB, and changed it so that internal backup memory and external backup memory are saved to/loaded from separate files.
January 22, 2022::
- SASPlay: Added support for "Air Walkers".
-- 1.29.0: --
January 12, 2022::
- PCE, PCE-Fast: Initialize VCE color table memory at power-on to roughly(without probabilistic bit randomness) match test results from a PC Engine Duo instead of just zeroing it; fixes unreadable letters in the password entry screen of "Order of the Griffon".
- Added test for potential splatting-related bug in qemu's PPC64 VSX "xscvdpsp" instruction emulation that messes up OwlResampler when compiled with gcc.
January 11, 2022:
- PCE: Added patch in the "notes" subdir for extending the upper range of the "pce.slend" setting to 241(not applied in Mednafen due to increasing the probability of an extra 8ms of input lag with some games).
January 9, 2022:
- VB: Fixed a couple inaccuracies in the VSU modulation emulation, fixing a few sound effects in "Virtual Boy Wario Land".
January 7, 2022:
- SNES-Faust: Fixed S-DSP pitch modulation being half as strong as it should be.
December 29, 2021:
- SNES: Fixed wrong compile-time endian detection on little-endian PPC64.
December 24, 2021:
- PCE: Fixed incomplete initialization of the VDC BG tile cache; fixes glitches after the boss explodes in "R-Type" under certain conditions(more likely to occur in forks of Mednafen).
December 20, 2021:
- NES: Added missing mapper 90 variables to save states.
December 5, 2021:
- Placing a "%d" or "%b" specifier at the beginning of a filesys.fname_* setting format string will now cause the generated path to be used as-is, rather than potentially being prefixed with the corresponding filesys.path_* setting or the Mednafen base directory. Fixes a regression introduced in 1.28.0-UNSTABLE that caused IPS patch files to be loaded from the wrong location when the user had loaded a game via a relative path.
November 29, 2021:
- Added support for playing the SCSP-generated music from most Sega Model 2A, 2B, 2C, and 3 games, via the new experimental "sasplay" module.
November 15, 2021:
- SNES: Fixed compilation error for little-endian PPC64 with LTO enabled.
- Fixed compilation error after running configure with --disable-fancy-scalers.
→ NOWSZY [MULTI] Mednafen x86/x64 1.28.0 Unstable
Mednafen Unstable 1.28 11/11/2021
Notable changes since 1.27.1:
- Stricter parsing of the configuration file and numeric setting values, with error messages now containing line numbers when relevant.
- Added setting "video.force_bbclear", default value of "0", which when set to "1" will force clearing of the backbuffer before drawing every frame.
- Added setting "video.cursorvis", default value of "hidden", to allow for showing the windowing system's mouse cursor within Mednafen's window even when it's not required.
- Implemented an M3U recursion limit of 9, adjustable by the new setting "cd.m3u.recursion_limit".
- Implemented a limit of 25 on the total number of CD images loaded while processing M3U files, adjustable via the new setting "cd.m3u.disc_limit".
- Added Zstandard decompression support to game loading, with both naked files("zst" extension) and ZIP archives.
- Added support for loading CD images from ZIP archives when the "cd.image_memcache" setting is set to "1". The ZIP archive may be loaded directly, or indirectly via an M3U file. An M3U file may also exist within the ZIP archive, to allow loading multiple CD images from within that ZIP archive. However, loading from a ZIP archive within another ZIP archive is not supported.
- Changed the naming of save games, save states, etc. for gzip-compressed games. Previously, a gzip-compressed file named like "whatever.nes.gz" would generate a save game named like "whatever.nes.<HASH>.sav", but will now generate a save game named like "whatever.<HASH>.sav", the same as if "whatever.nes" had been loaded instead of "whatever.nes.gz". The old behavior may be restored by setting the new undocumented setting "filesys.old_gz_naming" to "1".
- SS: The emulated reset button mapped to Mednafen's reset command key(F10 default) will now respect the "input.ckdelay" setting.
- SS: The VA0/VA1 motherboard's memory mapping behavior for Low-RAM is now emulated instead of VA2's, to fix a crash in "Myst" in the generator room.
- SS: Fixed unresponsive input in "Discworld".
- SS: Fixed startup abort to CD player screen in the Europe and USA releases of "Primal Rage".
- SS: Fixed abort to CD player screen when trying to start a game demo in Gremlin Interactive's "Demo Disc".
- SS: Fixed inability to skip the intro FMV in "Senkutsu Katsuryu Taisen: Chaos Seed".
- SS: Fixed flickering title screen in the "Saturn Super Vol. 2" demo of "Golden Axe: The Duel".
- SS: Fixed a regression introduced in 1.26.0-UNSTABLE that broke the CD audio player in the North America/Europe BIOS.
- SS: Implemented emulation of the CD block Scan command, to allow the scan forward/backward functionality in the BIOS's CD audio player to work.
- SS: Fixed a bug in the CD seek handling code that could cause more emulator frame pacing and sound buffer underrun issues than strictly necessary when CD image memory caching is not enabled, the default.
- SS: Corrected a few inaccuracies in the relative timing between different SCSP EG rates and between different SCSP timer prescaler rates(probably with negligible audible effects in commercial game sound drivers).
- VB: Added "left" and "right" options to the "vb.3dmode" setting, to allow for more easily showing only the left or right view.
→ NOWSZY [MULTI] Mednafen x86/x64 1.27.1 Unstable
MEDNAFEN 1.27.1 UNSTABLE
June 4, 2021:
- SS: Added "Herc's Adventures" to the internal database of games to enable SH-2 read/write VDP1 draw slowdown with, to fix a few graphical glitches.
May 28, 2021:
- Error out in the configure script when iconv is not found, rather than later during compilation.
May 26, 2021:
- SNES: Applied untested fix for an issue with libco on PPC64 ELFv2 systems.
May 18, 2021:
- SS: Corrected a few inaccuracies in the handling of SCSP EG phase transitions, per tests on a SS.
May 12, 2021:
- Renamed intl/VERSION to intl/VERSION.txt to prevent a conflict with a system C++ header file on case-insensitive filesystems(problem introduced in 1.27.0-UNSTABLE).
April 29, 2021:
- Demo: Use #pragma(pack) instead of __attribute__((packed)), to work around a bug/design flaw in older versions of gcc that caused the demo module's save state test to fail when compiled for a Windows target(where ms_struct is the default structure layout).
April 28, 2021:
- Increased verbosity of bad Q subchannel data error messages in the CloneCD CD image loader.
- Fixed crashing with non-glibc iconv implementations when the user specifies an unsupported character encoding in the debugger's memory editor.
MEDNAFEN 1.27.0 UNSTABLE 29/03/2020
March 29, 2021:
- Sega Saturn Corrected threshold and semantics of envelope level-based blocking of slots' access to SCSP RAM, per tests on a SS.
March 13, 2021:
- Sega Saturn Fixed a big-endian target incompatibility in the SCSP emulation code.
- Use ternary operator instead of std::min in endian.h, as doing so somehow causes gcc to produce smaller and faster machine code.
- PSX Sony Playstation: Removed incorrect filtering of CD-XA ADPCM sectors based on the file and channel numbers of the first ADPCM sector played,
- originally added in 0.9.24-WIP to fix the speech playback in "Yarudora Series Vol.1: Double Cast", but made unnecessary by later sector buffering accuracy improvements; fixes missing audio in the FMVs of "Blue's Clues: Blue's Big Musical".
March 12, 2021:
- PSX Sony Playstation: Adjusted which sectors are processed and reflected by GetLocP after SeekP completes to only those before the seek target(which is slightly different than SeekL behavior, which also includes the target and a few after, at least with a typical PS1 CD); fixes hangs at different points in some versions of "Tomb Raider", a problem initially fixed in 0.9.38.3, but regressed in 1.22.0-UNSTABLE.
March 9, 2021:
- VB: Block writes to VSU registers and memories when A0 and A1 are not both 0, per tip from "enthusi".
March 7, 2021:
- Sega Saturn Implemented incomplete(regarding stack frame data) M68K address error handling, and implemented M68K halting when accessing addresses where any of A21-A23 is 1. Fixes major audio distortion during boss battles in "Lunar: Silver Star Story" due to SCSP DSP register corruption that occurred when the game crashed the sound CPU during bootup.
- SNES-Faust (Super Nintendo): Don't call event handlers in read/write handlers if the read/write is from DMA/HDMA, to avoid problematic recursion and related issues.
- SNES-Faust (Super Nintendo): Fixed clearing of pending SuperFX IRQ on reset/power; fixes hang/crash in "Stunt Race FX" upon performing a virtual power toggle after the game boots up.
March 4, 2021:
- SNES-Faust (Super Nintendo): Added commented-out fix for "Speedy Gonzales", to enable later.
- SNES-Faust (Super Nintendo): Added detection heuristics and support for mapping LoROM RAM into $8000-$FFFF, to fix save game saving/loading in "Light Fantasy", "PGA Tour Golf", and "Ys III".
February 23, 2021:
- SNES-Faust (Super Nintendo): Added commented-out fix for "Kishin Douji Zenki Tenchi Meidou", to enable on a per-game basis in the future due to a minor negative performance impact.
February 19, 2021:
- SNES-Faust (Super Nintendo): Reworked cart header detection and cart type detection logic a bit, fixes "Yuuyu no Quiz de Go! Go!".
February 17, 2021:
- SNES-Faust (Super Nintendo): Return open bus in bits 4 through 6 for reads from $4210; fixes early hang in "Super Professional Baseball II".
- SNES-Faust (Super Nintendo): Return open bus in bits 0 through 6 for reads from $4211; fixes early hang in "Yuujin Janjuu Gakuen 2".
- SNES-Faust (Super Nintendo): Added support for special ROM mapping required by "Derby Stallion 96" and "Sound Novel Tsukuru".
February 16, 2021:
- SNES-Faust (Super Nintendo): Changed power-on APU RAM initialization pattern; fixes hangs in "Ihatov Monogatari" and "Kyuuyaku Megami Tensei".
February 3, 2021:
- Fixed an off-by-1 error in the multithreaded CD reader that would cause a hang if a read was attempted for the sector at LBA 449849.
January 31, 2021:
- Fixed a design flaw that caused the creation of empty backup counter files when automatically attempting to back up a nonvolatile memory save file that does not exist.
January 28, 2021:
- SNES-Faust (Super Nintendo): Disabled the PPU brightness modulation sanity check when compiling a non-dev build, and fixed array misalignment that was causing the code to segfault when compiled with stack smashing protection enabled on newer gcc.
January 25, 2021:
- Resync console scroll to the last drawn line of the target unwrapped line in the scrollback buffer, not the first, otherwise the console will erroneously scroll up on windowed<->fullscreen transitions when the last line is wider than the console viewport, confusing the user.
January 24, 2021:
- Fixed rendering of Unicode combining characters, fixed handling of combining characters when entering text in the console and debugger prompt, added support for pasting into the debugger prompt, cleaned up rendering of the debugger prompt box, implemented automatic scrolling when entering text in the debugger prompt, made console text entry automatic scrolling bidirectional, changed console scrollback buffer beginning/end scroll key combos to CTRL+Home/CTRL+End instead of SHIFT+Home and SHIFT+End, added support for clearing multiple characters at once in the console and debugger prompts by pressing CTRL with Backspace/Delete.
January 19, 2021:
- Added support for reinitializing game controllers while Mednafen is running by pressing Shift+F3.
- Aborting the input configuration process for a virtual device will now discard the new configuration data, instead of combining it with the old configuration data for the not-configured buttons as previously done.
January 12, 2021:
Added "upper_center" and "center" options to the "fps.position" setting.
January 7, 2021:
- WonderSwan: Fixed RTC month field being incorrectly treated as 0-based instead of 1-based.
- Give the user feedback when they try to toggle a graphics layer that doesn't exist or isn't toggleable.
- NGP NeoGeo Pockett: Sanitize some sound-related variables on state load to prevent potential memory corruption.
January 6, 2021:
- SMS: Sanitize more variables on state load.
- NES: Fixed a few instances of missing variable initialization on poweron.
January 5, 2021:
- GB GameBoy Sanitize a few variables on state load.
January 4, 2021:
- Automatically create any missing parent directories to the Mednafen base directory on startup.
- Create each Mednafen data directory(e.g. firmware, sav, snaps, etc.) at startup based on the current value of the filesys.path_* setting instead of based on its default value, unless the corresponding filesys.fname_* setting is not set to its default value, in which case the directory is not created.
January 2, 2021:
- NES: Sanitize more sound emulation variables on state load.
January 1, 2021:
- NES: Added missing VRC6 variables to save states.
- GBA GameBoy Advance: Backup save game memory files on game load
- SMS: Fixed a bug that could cause the emulated reset button state to get stuck as pressed if a hard reset occurred within about 20 frames after a soft reset.
December 31, 2020:
- GBA GameBoy Advance: Added a few missing variables to save states.
- GB GameBoy Added a few missing variables to save states.
- PCE-Fast PcEngine: Renamed encapsulating namespace from "PCE_Fast" to "MDFN_IEN_PCE_FAST", to match the convention of all other emulation modules.
- Made Emulated* MDFNGI objects constant, copied over to a dynamically-allocated MDFNGI assigned to MDFNGameInfo on game load.
December 30, 2020:
- Dynamically-allocate QTRecord LZO work memory.
- Apple2: Dynamically allocate state helper floppy disk object.
- PCE-Fast PcEngine: Fixed massive overallocation of memory for the VDC background tile cache.
December 29, 2020:
- Optimized MDFN_FastArraySet() for non-ideal counts.
- Utilized MDFN_HIDE in more places.
December 28, 2020:
- Removed incomplete YCbCr MDFN_Surface support unused since 0.9.x, and likely to remain unused.
- Added support for 16bpp graphics output to core Mednafen code and the majority of emulation modules(excluding "pce", "pcfx", "PSX Sony Playstation", "snes", "ss", and "vb"), and added setting "video.glformat" to allow for using this support with OpenGL.
December 25, 2020:
- PSX Sony Playstation: Initialize some missed state on reset/poweron.
December 24, 2020:
- Completely rewrote the save state preview image resizing code, so that now it's only somewhat wrong, instead of mostly wrong as before.
December 22, 2020:
- GB GameBoy Use fastcall on 32-bit x86, for a tiny performance boost.
- Use MDFN_RESTRICT macro instead of __restrict__.
- NGP NeoGeo Pockett: Use fastcall calling convention on 32-bit x86 to boost performance a little bit.
- Apple2: Disabled some expensive asserts when compiling without MDFN_ENABLE_DEV_BUILD defined.
December 20, 2020:
- Birthed pernicious human date/time calculation functions to replace the usage of _gmtime64() and _localtime64() on Windows, for Windows 9x compatibility.
December 14, 2020:
- Set icon using Win32 API functions on Windows instead of relying on SDL_SetWindowIcon(), and use alternate, smaller(and boxier!) window icons when running on Windows 9x so the poor beetle doesn't look splatted.
December 12, 2020:
- Don't call SetConsoleOutputCP() on startup on Windows, as it messes up the cmd.exe console on Windows 7(at least) even when Mednafen has exited, and for Windows 9x compatibility.
- Pass a pointer to a dummy variable, instead of NULL, as the output thread identifier pointer argument to _beginthreadex(), for Windows 9x compatibility.
- Allow for the absence of GetConsoleWindow() on Windows, for Windows 9x compatibility.
- Automatically attempt to lock file offset 0xFFFFFFFF if the attempt to lock offset 0xFFFFFFFFFFFFFFFF fails with an invalid parameter error on Windows, for Windows 9x compatibility.
- Use SetFilePointer(), GetFileSize(), and LockFile() instead of SetFilePointerEx(), GetFileSizeEx(), and LockFileEx() on Windows, for Windows 9x compatibility.
December 10, 2020:
- Dropped usage of and dependency on libsndfile, and added a direct dependency on libFLAC. The only CD image audio file formats/encodings other than raw supported now are: FLAC, Ogg Vorbis, Musepack, and uncompressed PCM in AIFF/AIFC, AU/SND, W64, and WAV.
- Require the first four bytes of the tentative Ogg Vorbis file to be "OggS" before calling ov_open_callbacks(), to prevent unnecessary excessive reads when trying to determine the type of the audio file, and to avoid treating a non-Vorbis file as Vorbis under certain conditions.
- Open the main settings file for both reading+writing on startup instead of just reading, to allow file locking to work over NFS, and as a quick check to make sure the file is writeable before it's too late upon exit.
December 1, 2020:
- Made various changes to the Windows support code, to allow for compiling a non-Unicode Windows build.
November 24, 2020:
- Implemented stream buffering in the FileStream class, now using read(), write(), etc. instead of fread(), fwrite(), etc.
→ NOWSZY [MULTI] Mednafen x86/x64 1.26.0 Unstable
MEDNAFEN 1.26.0 UNSTABLE 28/10/2020
This release may have more Saturn-related regressions than usual.
Notable changes since 1.25.0-UNSTABLE:
- SS: Fixed startup hang in the Europe releases of "Virtua Cop" and "Virtua Cop 2".
- SS: Fixed startup hang in the USA release of "Independence Day".
- SS: Fixed hang in "QuoVadis".
- SS: Fixed hang in "Kidou Senkan Nadesico: Yappari Saigo wa Ai ga Katsu".
- SS: Fixed crash/hang in "Hop Step Idol".
- SS: Fixed startup abort to CD player screen in "Break Point" and "DJ Wars".
- SS: Fixed hang of finite duration that sometimes occurred when trying to skip FMVs in "Dragon Force II" and "World Cup France '98: Road to Win".
- SS: Fixed major sound glitches during gameplay in "Gunbird" after starting a game after exiting from the illustration gallery.
- SS: Fixed dialogue voice audio being cut off prematurely in "Paneltia Story".
- SS: Fixed missing graphics in the intro of "Magical Drop III".
- SS: Fixed missing background layer graphics on disc 2 of "Mahjong Doukyuusei Special".
- SS: Fixed glitchy ship sprite in the ending sequence of "Thunder Force III" in "Thunder Force Gold Pack 1".
- SS: Fixed FMV tearing in "Ys II" of "Falcom Classics II".
- SS: Fixed FMV tearing in "In the Hunt".
- SS: Fixed minor FMV glitches in "3D Baseball", "The Crow", "NBA Action", "NFL Quarterback Club 96", "Solar Eclipse", and "Titan Wars".
- SS: Fixed FMV glitches in "NFL Quarterback Club 97".
- SS: Fixed FMV glitches in the Japan and USA releases of "Virtua Fighter Kids".
- SS: Fixed intro FMV ending too soon in "Yu-No".
- SS: Fixed glitchy frames on the Konami intro arm sprite in "Tokimeki Memorial: Forever With You".
- SS: Fixed graphical glitches on the save and load screens in "Horror Tour".
- SS: Fixed glitchy rotation-zoom effect in "Corpse Killer".
- SS: Fixed blank game over screen in "Doraemon: Nobita to Fukkatsu no Hoshi".
- SS: Fixed glitches when character graphics change in "Mujintou Monogatari R: Futari no Love Love Island".
- SS: Fixed character portrait graphical glitch after entering the character select screen in "Zero Divide".
- SS: Further reduced graphical glitching in "Virtua Fighter Remix".
- SS: Fixed most rock face graphical glitches in "The Lost World: Jurassic Park".
- SS: Fixed most graphical glitches with the player's robot in "Wolf Fang SS: Kuuga 2001".
Changelog
October 26, 2020
- SS: Added "The Lost World: Jurassic Park" to the internal database of games to enable full cache emulation with, to fix most rock face graphical glitches.
October 25, 2020
- SS: Added "Corpse Killer" to the internal database of games to enable full cache emulation with, to fix the glitchy rotation-zoom effect.
October 24, 2020
- SS: Fixed major bug, existing since Saturn save state support was added, in the SCU save state code that caused wrong state to be saved(and later restored) when an SCU DMA level in indirect mode was active.
- SS: Added "Kaitei Daisensou"/"In the Hunt" to the internal database of games to enable SH-2 read/write VDP1 draw slowdown with, to fix FMV tearing.
- SS: Added "Zero Divide" to the internal database of games to use the data cache read bypass kludge with, to fix a graphical glitch with character portraits.
October 23, 2020
- SS: Made changes to prevent the CDB emulation from reporting PLAY status until the second sector is read after a seek completes; fixes game-breaking problems in "Break Point", "DJ Wars", "Hop Step Idol", and "Tennis Arena".
- SS: Fixed inaccuracies with how CDB playback buffer full auto-pause and resume works; fixes occasional hangs of finite duration in "Dragon Wars II" and "World Cup France '98: Road to Win" when trying to skip FMVs.
October 22, 2020
- SS: Added "Mujintou Monogatari R: Futari no Love Love Island" to the internal database of games to use the data cache read bypass kludge with, to fix glitches when character portrait graphics change.
October 21, 2020
- SS: Added "Doraemon: Nobita to Fukkatsu no Hoshi" to the internal database of games to use the data cache read bypass kludge with, to fix the blank Game Over screen.
- SS: When a CDB 'Get CD Device Connection' command is issued very shortly after a 'Reset Selector' command, the 'Get CD Device Connection' command will now be executed before the resetting effects of the 'Reset Selector' command occur. Fixes startup hang in the USA version of "Independence Day".
October 20, 2020
- SS: Slowed down emulated VDP1 pixel plotting performance by a bit less than 20%(10% in 8bpp mode); fixes prematurely cut-off voices in "Paneltia Story", and reduces tearing in "Yu-No".
October 18, 2020
- SS: Added "3D Baseball", "The Crow", "NBA Action", "NFL Quarterback Club 96", "Solar Eclipse", and "Titan Wars" to the internal database of games to enable full cache emulation with, to fix minor FMV glitches.
- SS: Added "Thunder Force Gold Pack 1" to the internal database of games to enable full cache emulation with, to fix the glitchy ship sprite in the ending of "Thunder Force III".
- SS: Added the Europe releases of "Virtua Cop" and "Virtua Cop 2" to the internal database of games to enable full cache emulation with, to fix startup hangs.
- SS: Added "Yu-No" to the internal database of games to enable full cache emulation with, to fix the problem of the intro FMV ending too soon.
- SS: Added "Horror Tour" to the internal database of games to enable full cache emulation with, to fix graphical glitches on the save and load screens.
- SS: Added "Falcom Classics II" to the internal database of games to enable SH-2 read/write VDP1 draw slowdown with, to fix tearing in the intro FMV of "Ys II".
- SS: Added "Tokimeki Memorial: Forever With You" to the internal database of games to enable SH-2 read/write VDP1 draw slowdown with, to fix the glitchy arm sprite in the Konami intro.
- SS: Added "Virtua Fighter Kids" to the internal database of games to use the data cache read bypass kludge with, to fix a major FMV glitch.
October 17, 2020
- SS: Made a very small SSE2-based optimization to the cache tag evaluation code.
October 16, 2020
- SS: Removed incorrect write mirrors for the SH-2 CCR register; fixes FMV glitches in "NFL Quarterback Club 97".
- SS: When full cache emulation is enabled(e.g. via database), alternate slave CPU and bus sharing emulation code will be used, to reduce disproportionate sharing of the bus(it's still not perfect, however).
- SS: SH-2 PC-relative MOV.W and MOV.L loads are now correctly treated as instruction fetches instead of data fetches with respect to the OD/ID bits of CCR.
- SS: The SH-2 WB/EX pipeline stall emulation logic is now always enabled, instead of only being enabled in full cache emulation mode as it was previously.
October 12, 2020
- SS: Moved SH-2 cache entry invalid bit from bit31 of the internal combined tag variable to bit0, for slightly better code generation.
October 11, 2020
- SS: Slave SH-2 on/off is now handled outside of the regular event handling system to prevent a crash under certain conditions. October 9, 2020
- SS: Extended the handling of VDP1 command execution slowdown on SH-2 CPU reads/writes to also include SH-2 DMA accesses.
October 5, 2020
- SS: Bumped up minimum seek timing delay, to compensate for upcoming general CPU timing improvements in the games sensitive to seek timing.
October 4, 2020
- SS: The SR value loaded with RTE is now properly masked.
October 2, 2020
- SS: Allow the SMPC joystick reading process to be aborted earlier on, while still waiting for vblank to end; fixes another hang in "QuoVadis".
- SS: Added "Wolf Fang SS: Kuuga 2001" to the internal database of games to enable SH-2 CPU read/write VDP1 draw slowdown with, to fix glitchy graphics in the player's robot.
- SS: Added "Mahjong Doukyuusei Special" to the internal database of games to use the data cache read bypass kludge with, to fix the missing background graphics layer on disc 2.
- SS: Added "Kidou Senkan Nadesico: Yappari Saigo wa Ai ga Katsu" to the internal database of games to use full cache emulation with, to fix a hang.
- SS: Implemented emulation of the timing effects of the B-bus write buffer on SH-2 CPU writes; fixes hang in "QuoVadis".
September 4, 2020
- SNES-Faust: Fixed bug in the multithreaded PPU renderer that could cause massive graphics corruption when a game interleaves reads and writes to VRAM without resetting the VRAM address, like in "NBA Pro Basketball: Bulls vs Blazers".
August 28, 2020
- SS: Delay CDB status position info update by about 44us after a seek request(via Play command, or otherwise); fixes missing graphics in the intro of "Magical Drop 3".
MEDNAFEN 1.25.0 UNSTABLE 27/06/2020
June 27, 2020
- SS: Implemented more accurate emulation of VDP1 drawing of excessively-large primitives. It's not perfect, there's still something weird going on with antialiasing, and the effects on gradient shading and texturing are not fully emulated, but it's enough to fix missing graphics in the attract mode of "Virtua Cop", and a hang after defeating the final boss in "Rayman".
- SS: Fixed an off-by-1 inaccuracy in the edge stepping code for sprites and polygons, with minor visible effects in non-rectangular sprites/polygons.
June 26, 2020
- SS, MD: Fixed/Implemented M68K MULU and MULS instruction timing.
June 24, 2020
- SS: Added wait states to M68K writes; fixes hang in "Lunar" after the Meribia pub singer's singing, that was caused by a timer being reloaded too quickly in an interrupt handler.
June 13, 2020
- SS: Allow VDP1 primitive drawing code to be suspended(and later resumed) mid-drawing when it's consumed too much emulated time; fixes excessive CPU usage during the FMV in "Dark Seed II".
June 4, 2020
- SS: Added "Senken Kigyouden", "Xian Jian Qi Xia Zhuan", "Virtua Fighter", and "Virtua Fighter Remix" to the internal database of games to enable full cache emulation with, to fix graphical glitches.
May 17, 2020
- SS: Implemented more complete emulation of SCSP's buggy(inter-slot contamination) linear interpolation on FM carrier slots.
MEDNAFEN 1.24.3 1/05/2020
May 1, 2020
- SS: Implemented more complete emulation of the SCSP short waveform mode, after running further tests; fixes excessive distortion in a sound effect in "Sega Ages: OutRun", a regression introduced in Mednafen 1.24.2.
→ [MULTI] Mednafen x86/x64 1.23.0 Unstable
Mednafen 1.23.0-UNSTABLE September 3, 2019 - 19:15 PDT
Some of the Saturn game compatibility improvements are from per-game ugly hacks. Many are from per-game cache emulation mode changes. All internal Saturn game databases, and their effects, are now documented.
A future update may implement more correct fixes via global accuracy improvements, depending on how desktop CPU performance develops.
Notable changes since 1.22.2:
- Expanded and harmonized the accepted value ranges for settings "sfspeed" and "ffspeed" to 0.25 through 15, for greater versatility.
- Apple2: Added support for an RGB-style video mode, selectable with the new setting "apple2.video.mode".
- Apple2: Added support for custom 16-color palettes(using one will automatically enable RGB mode).
- NGP: Fixed broken voice playback in "Densetsu no Ogre Battle Gaiden".
- NGP: Fixed eventual save-related hang in "The Last Blade".
- PCE: Fixed compatibility issues with some Super CD-ROM² games when using a US system card image.
- SNES-Faust: Made various changes to try to improve game compatibility.
- SNES-Faust: Added CX4, SA-1, and SuperFX emulation.
- SNES-Faust: Added setting "snes_faust.h_filter" to control handling(e.g. blending) of lores and hires video modes.
- SS: Fixed hang at end of disc 1 of "Grandia", with horrible per-game hack.
- SS: Fixed hang in "Fighters Megamix" that occurred after the intro FMV played(or was interrupted), with horrible per-game hack.
- SS: Fixed flickering text in "Arcade's Greatest Hits".
- SS: Fixed major graphical glitches during gameplay in "Whizz".
- SS: Fixed much of the graphical glitching in "All-Star Baseball 97".
- SS: Fixed many instances of rescue text flickering in "Burning Rangers".
- SS: Fixed battle text truncation in "Albert Odyssey".
- SS: Fixed flickering at the start of disc 2 of "Policenauts".
- SS: Fixed hang/crash in "Space Jam".
- SS: Fixed major game logic errors during battles in "Dragon Force II".
- SS: Fixed early hangs in "Die Hard Trilogy", "GeGeGe no Kitarou", "Nobunaga no Yabou Shouseiroku", and "Formula Grand Prix - Team Unei Simulation".
- SS: Fixed FMV glitches in "Gex" and "Slam 'n Jam 96".
- SS: Fixed various graphical glitches in "Shunsai".
- SS: Fixed graphical glitches on the character select screen in "Virtual Mahjong".
- SS: Fixed missing title screen, main menu, and gameplay background graphics in "Ronde".
- SS: Fixed explosion graphic glitches in "Thunder Force III" in "Thunder Force Gold Pack 1".
- SS: Fixed hang that sometimes occurred after pausing in "Thunder Force AC" in "Thunder Force Gold Pack 2".
- SS: Fixed FMV flickering in "Lunar".
- SS: Fixed major graphical glitches in the later stages of "Shienryu" when on arcade mode.
→ [MULTI] Mednafen x86/x64 1.22.0 Unstable
-- 1.22.0-UNSTABLE: -- December 11, 2018:
- SS: Added support for directly loading <= 1MiB bootable cart ROM images, with the expected file extension being "ss", for debugging and testing purposes.
December 2, 2018:
- SS: Added "Fighting Vipers" to the internal database of games to use the data cache read bypass kludge with, to fix the problem of the computer-controlled opponent sometimes losing the will to not be a statue.
December 1, 2018:
- PSX: Memory cards are now backed up on startup(maximum number of backup copies kept for each memory card is 5).
- November 30, 2018:
- PCE: Increased CD read startup delay per tip from dshadoff. Fixes ADPCM voice playback issues in "Downtown Nekketsu Monogatari" when text speed is set to fast.
- MD: Fixed a few errors in the internal automatic multitap database, per tip from clobber.
- SS: Added setting "ss.cart.auto_default".
- NES: Removed apparently erroneous iNES header correction database entry for "Dragon Quest II" that was breaking the game.
November 6, 2018:
- VB: Added the ability to toggle the state of the low battery sensor bit; configure the device on virtual input port 2(e.g. ALT+SHIFT+2) to assign a key/button to this function.
November 4, 2018:
- PSX: Added a pseudorandom component to Pause command timing to address loading-related hangs in "Colony Wars - Vengeance (Europe)" and "Army Men - Air Attack (Europe)".
- PSX: Generate a seek error if the tray is opened while the CD drive is not stopped; fixes broken disc switching in "Arc the Lad III".
- November 3, 2018:
- PSX: Improved emulation of the behavior of CDC command 0x0A per tests on a PS1; fixes hang in "Goryuujin Electro".
- November 2, 2018:
- PSX: Don't set the autopause track test value unless autopause is enabled; fixes missing music in "Pitball".
- PSX: Delay first CD-DA report after playback begins, per tests on a PS1; fixes missing music in "Roswell Conspiracies - Aliens, Myths & Legends".
October 31, 2018:
- PSX: Improved timing of CDC command 0x0A per tests on a PS1; fixes missing music and hangs in "Grind Session".
- PSX: Altered seek and pause timing and behavior per tests on a PS1; fixes hangs in "Incredible Crisis", "Ballerburg - Castle Chaos", "Transformers - Beast Wars Transmetals", and "Simple 1500 Series Vol. 057 - The Maze".
October 28, 2018:
- The settings management code will now throw an exception if a floating-point setting is NaN.
- Fixed a crash that occurred when "debugger.autostepmode" was set to "1" and a game was loaded for a system for which debugger functionality was not implemented.
- NativeVFS, FileStream, and GZFileStream methods taking a path will now throw an error when the path contains a null character.
October 23, 2018:
- SNES-Faust: Added recognition of files with "fig" and "swc" file extensions as SNES ROM images.
October 9, 2018:
- Altered the variants of MDFN_rtrim(), MDFN_ltrim(), MDFN_trim(), MDFN_zapctrlchars(), MDFN_strazlower(), MDFN_strazupper(), and UTF8_sanitize() that operate on a mutable std::string to take a pointer to the std::string instead of a non-const reference, and added variants that take a const std::string reference and return a std::string result.
October 8, 2018:
- Dropped support for "game set" hashes used to change the naming of save state and save game files. The feature was mostly broken by changes made years ago, and is redundant now with M3U support. Save game files for multi-disc PC-FX games created in previous versions of Mednafen will need to be renamed to be seen by this and newer versions of Mednafen. Other files, including save states, should generally be unaffected, unless the user has changed filesys.fname_* settings to use the %F specifier where they wouldn't by default.
- Removed usage of the deprecated "register" keyword in some old code.
October 7, 2018:
- Adjusted placement of MDFN_FASTCALL and NO_INLINE to fix some compilation errors with MSVC.
- In addition to nonvolatile memory backup files as before, any missing directories in the file path for input-recording movies, save states, screen snapshots, and nonvolatile memory files are now created as necessary, to increase the versatility of the filesys.fname_* settings.
October 6, 2018:
- Implemented partial virtual filesystem support via classes VirtualFS, NativeVFS, and ZIPReader.
- Emulation modules' loading of files referenced from the main file being loaded is now done through its associated VFS. This does create a small backwards-compatibility issue with PSF-family(PSF, SSF, GSF, etc.) files, in that previously a ZIP'd PSF-family file that referenced a library file would have the referenced file loaded from the directory containing the ZIP file, but now will have it loaded from within the same ZIP file.
October 4, 2018:
- NGP: Replaced min/max macros with usage of std::min/std::max.
September 30, 2018:
- Modified usage of std::swap in OwlResampler.cpp to not explicitly(and unnecessarily) specify the template argument, to fix a compilation error on MSVC.
- Reworked FileStream.cpp to fix some issues causing errors on MSVC.
- GBA: Fixed a regression introduced in 0.9.47 that partially broke compatibility with save states created in previous versions(< 0.9.47), while preserving compatibility for save states created in versions between and including 0.9.47 and 1.21.3.
- September 29, 2018:
- SNES-Faust: Added RAM cheat support(main WRAM only for now).
- SNES-Faust: Added emulation of PPU-area open bus/bus read latches; fixes missing sprites in the water stage of "Mario's Time Machine".
- SNES-Faust: Corrected H/V latch reading to use two separate high/low byte toggles.
- September 24, 2018:
- SNES-Faust: Made minor changes to the CPU emulation core to not require computed goto support in the compiler.
September 23, 2018:
- Added "blend" and "blend_rg" deinterlacers.
- Moved multithreading management code into the core.
- Encapsulated most(ish) core Mednafen code in the "Mednafen" namespace.
- Slightly improved the quality of audio output by SwiftResampler when running at the higher quality settings.
September 22, 2018:
- Moved NES audio resampler so it can be used by any emulation module, and renamed it to "SwiftResampler".
- Added an SSE intrinsics-utilizing MAC loop to OwlResampler as a fallback(for the inline assembly) when compiling with MSVC.
- Added an SSE2 intrinsics-utilizing MAC loop to SwiftResampler as a fallback(for the inline assembly) when compiling with MSVC.
September 21, 2018:
- Wrote new Kaiser-windowed sinc generation code, and modified OwlResampler and the NES resampler to use it. It shouldn't have any particularly noticeable end-user effects, other than slightly different startup performance(assuming no mistakes were made :p).
September 11, 2018:
- SS: Emulated input devices' internal states were not being reset on virtual power toggle; fixed. September 5, 2018:
- SS: Reorganized SCSP DSP emulation code to make the lifetime of variables clearer, for a possible x86_64 dynarec in the future.
August 30, 2018:
- Modified SHA-256 hashing code to allow for piecemeal hashing of data, instead of requiring the hash to be generated from one contiguous chunk of memory.
- August 8, 2018:
- PSX: Fixed a startup crash that could occur with a malformed or corrupted SYSTEM.CNF file.
July 31, 2018:
- Replaced MD5 hashing code with newly-written code.
July 29, 2018:
- Replaced SDL threading code with new code that uses pthreads directly.
July 28, 2018:
- Replaced Q subchannel CRC16 calculation code from cdrdao with newly-written code.
July 24, 2018:
- gzip-compressed ROM/disk image files are now recognized by file extension instead of header magic.
June 13, 2018:
- SS: Fixed an emulation inaccuracy with the handling of the SH-2 "mac.l" instruction when saturation is enabled, per tests on a SS.
→ [MULTI] Mednafen x86/x64 1.21.0 Unstable
Mednafen 1.21.0-UNSTABLE February 20, 2018 - 21:01 PST
Notable changes
- Migrated to SDL2(building from source requires 2.0.5+).
- An attempt to run an instance of Mednafen while another instance is already running with the same base directory is now blocked during startup, via a lock file; note that this check occurs after stdout and stderr are potentially redirected to stdout.txt and stderr.txt on Windows.
- Removed the "overlay" video driver.
- Changed the default value of setting "video.driver" from "opengl" to "default", removed the old "0" and "1" backwards-compatibility value aliases, renamed the "sdl" driver to "softfb"(without backwards-compat aliases), and made it so the setting's value will be reset to "default" after automatically importing settings from "mednafen-09x.cfg".
- Added setting "video.fs.display".
- Added settings "fps.autoenable", "fps.position", "fps.scale", "fps.font", "fps.textcolor", and "fps.bgcolor".
- Added support for pasting text into the cheat and netplay consoles.
- On Windows, Mednafen will now output text to a console if it's started from a console(e.g. cmd.exe or Cygwin), and if not, write to stdout.txt and stderr.txt like before.
- On Windows, error messages during startup will now be displayed in a popup message box.
- On Windows, Mednafen now uses Unicode variants of CRT and Win32 functions; this may require the user to update path settings and convert their CUE sheets to UTF-8 if filenames use exotic(e.g. not directly typable on a standard US-layout keyboard) characters.
- For key bindings relating to the debugger and cheat management interface, the Right ALT key modifier will no longer be respected(only the Left ALT has any effect now), for internationalization reasons.
- Configuration file is now named "mednafen.cfg" again, instead of "mednafen-09x.cfg"; if "mednafen.cfg" doesn't exist or is for an old version(earlier than 0.9.0) of Mednafen, the settings will be loaded from "mednafen-09x.cfg" on startup, but still saved to "mednafen.cfg" on exit.
- Reworked the input mapping setting format to be more human-readable(and editable). Details are in the documentation, in the "Advanced Usage" section. Old input mappings will be translated internally, except for keyboard mappings, due to incompatibilities between how SDL 1.2 and 2 handle keyboards.
- Added support for mapping joystick axes and buttons, mouse buttons, and keyboard keys to emulated mouse device relative motion for testing purposes(via manually editing the configuration file, as the in-emulator configuration process currently won't create such mappings).
- Added support for digital button input mappings that mix AND, ANDNOT, and OR-style operations together(previously it was either just AND or OR); refer to the documentation for more details. Note that the in-emulator configuration process won't create complex mappings that mix different boolean operations, but you can map combinations using simpler logic in-emulator, and then edit the configuration file to adjust the boolean operations used.
- Altered calculations involving *.xscale(fs)/*.yscale(fs) settings to be more predictable given floating point nuances; any user using non-integer scaling values for these settings may need to adjust them to get the same result as in previous versions of Mednafen, however.
- Fixed broken cheat file saving on MS Windows.
- PCE_FAST: Fixed fubared mouse emulation.
- PC-FX: Fixed integer overflows that caused fatal division by zero when Mednafen's cheat functionality was used(a regression introduced around 0.9.39).
- SS: Fixed a logic error in the BIOS sanity check code that caused it to throw a less helpful error message than intended in certain circumstances, and made the error messages related to BIOS file misconfiguration more verbose(and hopefully more helpful...).
- SS: Fixed at least one background layer graphical glitch in "Radiant Silvergun"(at the start of stage 2C).
- SS: Fixed the graphical glitch near the end of the intro in "Snatcher".
- SS: Added Japanese keyboard(HSS-0129) emulation.
Complete ChangeLog -- 1.21.0-UNSTABLE: --
February 19, 2018:
- An attempt to run an instance of Mednafen while another instance is already running with the same base directory is now blocked during startup, via a lock file; note that this check occurs after stdout and stderr are potentially redirected to stdout.txt and stderr.txt on Windows.
February 15, 2018:
- Changed the default value of setting "video.driver" from "opengl" to "default", removed the old "0" and "1" backwards-compatibility value aliases, renamed the "sdl" driver to "softfb"(without backwards-compat aliases), and made it so the setting's value will be reset to "default" after automatically importing settings from "mednafen-09x.cfg".
- On Windows, no longer exit on ALT+F4 while input is grabbed.
- Added settings "fps.autoenable", "fps.position", "fps.textcolor", and "fps.bgcolor".
February 11, 2018:
- Removed reliance on malloc(), realloc(), and calloc() setting errno to ENOMEM on failure, since it's not the case on Windows XP, and possibly other platforms/operating systems too.
February 9, 2018:
- ZIP files are now recognized by file extension instead of by magic(wizards).
- Replaced old minizip code with newly-written ZIP archive reading code.
- Replaced MDFN_PrintError() and MDFN_DispMessage() with MDFN_Notify().
February 6, 2018:
- Use versionsort() instead of alphasort() when scanning for js* joystick devices on Linux.
February 1, 2018:
- Added settings "fps.scale" and "fps.font".
January 31, 2018:
- On Windows, in-memory conversion of M3U and CUE files to UTF-8 will be attempted if they lack a UTF-8 BOM and contain byte sequences that are not valid UTF-8.
- On Windows, path/filename settings loaded from the old mednafen-09x.cfg(before being saved to mednafen.cfg on exit) will now be converted to UTF-8.
January 29, 2018:
- Added support for pasting text into the cheat and netplay consoles.
January 28, 2018:
- SS: Added Japanese keyboard emulation.
- SS: Improved VDP2 window Y coordinate evaluation emulation; fixes at least one background layer graphical glitch in "Radiant Silvergun"(at the start of stage 2C), and the graphical glitch near the end of the intro in "Snatcher".
January 20, 2018:
- Altered calculations involving *.xscale(fs)/*.yscale(fs) settings to be more predictable given floating point nuances; any user using non-integer scaling values
- for these settings may need to adjust them to get the same result as in previous versions of Mednafen, however.
- Added setting "video.fs.display".
January 18, 2018:
- SDL2(2.0.5+) is now used and required.
- Removed the "overlay" video driver.
- On Windows, error messages during startup will now be displayed in a popup message box.
- On Windows, Mednafen will now output text to a console if it's started from a console(e.g. cmd.exe or Cygwin), and if not, write to stdout.txt and stderr.txt like before.
- On Windows, Mednafen now uses Unicode variants of CRT and Win32 functions; this may require the user to convert their CUE sheets to UTF-8 if filenames use exotic(e.g. not directly typable on a standard US-layout keyboard) characters.
- For key bindings relating to the debugger and cheat management interface, the Right ALT key modifier will no longer be respected(only the Left ALT has any effect now), for internationalization reasons.
- The configuration file is back to "mednafen.cfg" instead of "mednafen-09x.cfg". If a 0.8.x "mednafen.cfg" is in the way, it will be renamed. If "mednafen.cfg" does not exist, or is from an old version of Mednafen, settings will initially be loaded from "mednafen-09x.cfg", but still saved to "mednafen.cfg" on exit(and loaded from "mednafen.cfg" from that point on).
- Reworked the input mapping setting format to be more human-readable(and editable). Details are in the documentation, in the "Advanced Usage" section. Old input mappings will be translated internally, except for keyboard mappings, due to incompatibilities between how SDL 1.2 and 2 handle keyboards.
- Added support for mapping joystick axes and buttons, mouse buttons, and keyboard keys to emulated mouse device relative motion for testing purposes (via manually editing the configuration file, as the in-emulator configuration process currently won't create such mappings).
- Added support for digital button input mappings that mix AND, ANDNOT, and OR-style operations together(previously it was either just AND or OR); refer to the documentation for more details. Note that the in-emulator configuration process won't create complex mappings that mix different boolean operations, but you can map combinations using simpler logic in-emulator, and then edit the configuration file to adjust the boolean operations used.
January 15, 2018:
- SS: Fixed a bug that caused a crash if an error occurred early in the process of loading a game.
- Updated the configure script to disable gcc's mitigations for Spectre, in the event distributions configure their compilers to enable them by default.
- Stopped (erroneously) memset()'ing some MDFN_PixelFormat objects.
January 12, 2018:
- Cleaned up the handling and reduced the size of axis-related inputs as communicated from the driver-side code to core Mednafen.
- PCE_FAST: Fixed fubared mouse emulation.
December 28, 2017:
- Replaced usage of strcasecmp() and strncasecmp() with MDFN_strazicmp(), for consistent behavior across locales.
- Added MDFN_strazlower(), MDFN_strazupper(), MDFN_memazicmp(), and MDFN_strazicmp() functions.
December 14, 2017:
- SS: Fixed a logic error in the BIOS sanity check code that caused it to throw a less helpful error message than intended in certain circumstances, and made the error messages related to BIOS file misconfiguration more verbose(and hopefully more helpful...).
December 6, 2017:
- Fixed broken cheat file saving on MS Windows.
November 12, 2017:
- Changed how some multidimensional arrays and arrays of structs are accessed, to try to avoid behavior that's probably undefined and may be a problem in the future.
- PC-FX: Fixed integer overflows that caused fatal division by zero when Mednafen's cheat functionality was used(a regression introduced around 0.9.39).
- SS: Stuck SCU DMA table arrays in a struct to avoid unspecified behavior in the SCU save state code.
Mednafen 0.9.45.1 July 1, 2017 - 21:33 PDT
This very minor release fixes a regression introduced in 0.9.45, that caused garbled sound output when using the (non-default) exclusive-mode WASAPI sound driver with certain higher-end sound cards.
-- 0.9.45.1: --
June 5, 2017:
- SNES: Fixed an instance of possibly-undefined behavior.
- Silenced dumb warning spam relating to endian.h emitted by newer versions of gcc.
June 4, 2017:
- Fixed garbled audio with the exclusive-mode WASAPI sound driver on some higher-end sound cards(regression introduced in 0.9.45 due to a mistake in changing the meaning of a macro field during development); may also fix garbled audio when using the new OpenBSD sound driver with certain sound cards.
Inne treści związane z tematem
[CGB] SameBoy 0.16.7 4/10/2024
SameBoy jest emulatorem sprzętu Nintendo GameBoy, ColorGameBoy i w przyszłości GBAdvance (być może i coś już odpala, nie trafiłem jednak na nic, co dałoby się uruchomić) napisanym z myślą o Macintoshu, jednak i nam blaszakowcom dostała się wersja (SDL), którą z powodzeniem można używać.
Ostatnie zmiany to praca nad SameBoy'em pod IOS'em
[multi] BizHawk x64 2.10.1 RC1 14/09/2024
Jeśli pojawia się RC to wiedz, że pełna wersja niebawem się ukaże. Multiemulator BizHawk, pozwala udawać konsole: Nintendo Entertainment System / Famicom / Famicom Disk System (NES/FDS), Super Nintendo (SNES), Nintendo 64, Gameboy, Gameboy Color, Super Gameboy, Sega Master System, SG-1000, Game Gear, Sega Genesis / Sega-CD, Sega Saturn, PC-Engine (TurboGrafx-16) / CD-ROM, ...
[pce] GearFX 0.0.4
Ignacio Sanchez Gines (drhelius), autor emulatora GearBoy (Nitendo GameBoy), GearSystem (Sega Master System) i GearColeco (Colecovision) zabrał się za nowego udawacza - tym razem na ogień poszła konsola Turbographx 16 lub jak to woli PCE Engine.
Na obecnym etapie grać się da na tym średnio (naprawdę nie brakuje dobrych emulatorów tej platformy - wystarcze wspomnieć o bardzo ...
[multi] DSP 0.23 VIP4 29/09/2024
Emulator DSP sygnowany przez imć Leniada, pozwalaja na zabawę maszynkami arcade i ośmiobitowcami - CPC, ZX Spectrum (z bardzo fajnie rozwiązanym podglądem plików), a także Colecovision, Nintendo 8 i CGB/GB - wszystko, co ma Z80 na pokładzie jest mile widziane;)
Ostatnia pełna wersja tego DSP Emulator DSP 0.22 Final pojawiła się 19 listopada 2023 r.