[MULTI] Mednafen 0.9.29 WIP

[3] @ Niedziela, 28 Lipca 2013 23:13CET

[MULTI] Mednafen 0.9.29 WIP
Skomentuj

Mednafen jest bardzo udanym multiemulatorem, który powstał przede wszystkim z myślą o linuksie, jednak dzięki portowi pod win32, 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.

Już emulowane platformy to Atari Lynx, GameBoy (Color), GameBoy Advance, NES, PC Engine(TurboGrafx 16), SuperGrafx, Neo Geo Pocket (Color), PC-FX i  WonderSwan (Color)) i PSX,

Mednafen 0.9.29-WIP: --

July 26, 2013:

  • Manually replaced m4/iconv.m4 with the copy from the latest gettext, and modified it slightly, to fix build errors on some non-glibc-utilizing platforms(e.g. my Win32 toolchain setup).
  •   Fixed a bug that broke(sometimes crashing Mednafen) displaying of long lines in the console viewport(cheats, netplay).

July 24, 2013:

  • SNES: Fixed a couple of bugs that could cause memory corruption when a corrupted/bad save state is loaded.  (Bad save states being loaded can still cause the emulator to lock up or trigger an assert(), and that's probably never going to be fixed, at least with the SNES emulation core).

July 22, 2013:

  • SNES: Implemented code for more aggressive frameskipping, but currently disabled pending further contemplation. Removed some unused files from the SNES emulation code tree.

July 17, 2013:

  • SNES: Changed hires blending algorithm, and only blend when in pseudo-hires mode(which is "cheating" a bit, but is ultimately the best solution I've found to blend/blur what needs to be while preserving pixel clarity).

July 15, 2013:

  • SNES: Implemented partial frameskipping support(won't affect emulation from the view of the emulated program/game, and it is disabled when interlacing is enabled).
  • SNES: Changed it so the Mednafen core does deinterlacing, instead of the bsnes core; improves performance slightly when games are in interlaced mode.

July 14, 2013:

  • WASAPI: Prevent complete Mednafen lockup when a device invalidation error occurs after successful initialization.
  • WASAPI: Fixed sample format conversion/volume issues with > 16-bit formats.

July 13, 2013:

  • SNES: Smashed some PPU emulation files together just 'cause.
  • SNES: Made minor structural optimizations to S-SMP emulation.

July 12, 2013:

  • SNES: Made minor structural(shouldn't affect emulation accuracy) optimizations to SuperFX emulation.

July 11, 2013:

  • Added support for additional formats and rates to the new, experimental WASAPI exclusive-mode driver; fixes audio output on my Echo Mia MIDI sound card.

May 28, 2013:

  • CDPLAY: Added boolean setting "cdplay.visualization", default value of "1", to allow disabling of the CPU-intensive simplistic waveform visualization effect.
  • CDPLAY: Reduced horizontal and vertical resolutions to 60% of their previous values, to reduce CPU usage.

April 20, 2013:

  • Fixed a typo-bug that would cause Mednafen to crash when, in addition to the host, the port was specified via the /server command in the netplay console.

April 3, 2013:

  • Lynx:  Fixed an audio bug(or alternatively, replaced with kludges ;)) that was breaking the "mwahahaha" audio from the spiderthing in Gates of Zendocon, per a bug report and code patch from "sage".
  • The "autoip" and "autoipsharper" pixel shaders weren't working properly when the screen was rotated(such as via ALT+O); fixed.

March 23, 2013:

  • PSX: Changed Read* and Play CD command processing, and added support for playing CD-DA via the Read* commands coupled with bit0 of the mode set via SetMode; fixes music resumption after pause issue in "Mortal Kombat Trilogy".

March 19, 2013:

  • Rearranged the psg_channel struct in pce_psg.h a bit to potentially allow for tiny performance improvements on some architectures.
  • PCE_FAST:  Made a few micro-optimizations to the BG rendering code.

March 17, 2013:

  • PCE_FAST:  Added a runtime check for "cmov" instruction availability on 32-bit x86, and an alternate VDC BG/SPR mixing function that avoids using it when it's not available.  Fixes an illegal instruction-related crash on older non-Intel CPUs(like AMD K6-III+), and Intel CPUs older than Pentium Pro(though I doubt that even a 233MHz Pentium MMX is fast enough to run it fullspeed anyway).
  • Added a compiler version check to avoid utilization of "fastcall" calling convention when compiling with a version of gcc older than 4.1.0, as the older versions of gcc have code generation bugs relating to fastcall/regparm(though I'm not sure if Mednafen will even compile at all with those older versions...).
  • Repositioned the FPS display position when in SDL software rendering mode such that it won't cause a potentially expensive backbuffer clear operation for every frame which would compromise the accuracy/usefulness of the FPS display.
  • Fixed some bugs with the SDL software rendering mode fallback used when the "opengl" vdriver is selected but OpenGL initialization failed(doubled-buffered video wasn't being specified in this fallback case, which led to massive screen flickering when an OSD element was active).

March 14, 2013:

  • Added a configure script option to build without fancy software scalers(hq2x, 2xsai, scale2x, and the like).
  • Replaced ancient rectangle drawing code with newer, slightly different code!

February 24, 2013:

  • Renamed edc_lec_check_correct() to edc_lec_check_and_correct().

February 19, 2013:

  • SNES: Use higher-quality, but more CPU-intensive(and slightly higher latency, on the order of about 1ms), speex resampler instead of Fir_Resampler.
  • PC-FX: Save-game RAM is no longer stored compressed.
  • PCE, PCE_FAST: BRAM save-game RAM is no longer stored compressed.
  • Optimized special scalers slightly by not initializing dynamically allocated memory for pixel data, since it's overwritten in totality by the special scalers anyway.
  • Added a parameter to MDFN_Surface()'s constructor to allow the creation of a surface without initializing its pixel data to zero.
  • Added a kludge to try to clear all OpenGL backbuffers(when necessary) when an OpenGL implementation with forced triple-buffering is used.
  • Changed code so that the video backbuffer won't be needlessly cleared due to OSD presence if the OSD is only displayed in portions of the screen that are overwritten each frame anyway during normal emulated video blitting.

February 18, 2013:

  • When recording a QuickTime movie and the sound output rate is greater than 64000Hz, resample the audio stream written to the QuickTime file to 64000Hz, as the QuickTime format has issues with sound rates greater than 65535Hz.

February 14, 2013:

  • Removed MDFND_KillThread().
  • Worked around x87 excess-precision problems that were causing nonsensical error messages to be printed in some circumstances when parsing the settings file.  I'm so tempted to just compile with -mfpmath=sse when compiling for 32-bit x86...
  • Fixed broken error messages printed out when an error occurs when loading the settings file.
  • SexyAL: Changed DirectSound buffer writing algorithm to write up to an extra ~30ms of sound data beyond the effective buffer size on sound writes, and then synchronize(IE wait) to the effective buffer size after the data is written, to slightly reduce the chance of sound buffer underruns and sound glitches on a loaded system.
  • Changed DirectSound buffer underrun handling to better preserve the flow of emulated time.
  • Use a dynamically-allocated buffer sized to fit 25ms of output-device-format audio as the sound conversion target buffer, rather than a statically-allocated fixed-size buffer that could only fit a very small amount of audio data (time-wise) at higher output sample rates.
  • Added channel deinterleaving into the main audio format conversion code, and removed the driver-specific deinterleaving code from the "ALSA" and "JACK" driver code.
  • Fixed a potential buffer overrun bug when converting 1-channel audio from one sample format to another(it's unlikely to have triggered a crash though, due to the size of the sound buffers used and doing the conversion in chunks).
  • Added logic to the "SDL" and "JACK" output driver code so that the internal software buffers won't overflow if a large amount of data is passed to it at once(which wouldn't have happened anyway, since there's protection code in the SexyAL core to prevent that, but that protection code is in need of removal or updating).

January 27, 2013:

  • Added a floating-point-related compiler code generation bug test to tests.cpp.

January 20, 2013:

  • Changed endian detection in tremor header files to hopefully fix a compilation problem on Haiku.

January 19, 2013:

  • SNES: Renamed some functions to fix a compilation problem on "ALT Linux".
  • MD: Fixed broken default key assignments for emulated 3-button gamepads(for the A, B, and C buttons).

 

→ [MULTI] Mednafen x86/x64 1.21.3

Mednafen 1.21.3

April 29, 2018:

  • SNES: Fixed an off-by-1 bug in the PPU code that would cause writing past the end of the OAM tile list array.

April 24, 2018:

  • SS: Added "House of the Dead (Japan)" to internal database of games to use the data cache read bypass kludge with, to fix a game crash on the gun calibration screen.
  • SS: Added "Virtua Fighter Kids (Java Tea Original)" and "World Series Baseball" to internal database of games to use the data cache read bypass kludge with, to fix gameplay glitches.

April 22, 2018:

  • Removed some unnecessary memory allocations in the old settings to argument parsing glue code.
  • Fixed a crash bug with 2xSaI-family scalers during initialization(regression introduced in 1.21.0-UNSTABLE).
  • Create the Mednafen base directory(e.g. ~/.mednafen) before opening the lockfile to fix a startup error when the directory does not already exist(regression introduced in 1.21.0-UNSTABLE).

April 21, 2018:

  • SS: Added kludge to fix layer offset problem in "Alien Trilogy".
  • SS: Added "WipEout" to internal database of games to use the data cache read bypass kludge with, to fix a hang that occurred when trying to exit gameplay back to the main menu.
→ [MULTI] Mednafen x86/x64 1.21.2

Mednafen 1.21.2

This minor release updates Tremor to address a security vulnerability with Vorbis-encoded CD image audio tracks, and fixes graphical glitches in the Sega Saturn game "Shining Force III - Scenario 2".

April 2, 2018:

  • Updated bundled copy of Tremor to address a security vulnerability.
  • SS: Improved emulation of SCU DSP DMA to program RAM, per tests on a SS(still nowhere near perfect, the way it's implemented on hardware is kind of horrible, but it should work ok if games use it how it's meant to be used); fixes graphical glitches in "Shining Force III - Scenario 2", and perhaps in the other "Shining Force III" games as well.
  • SS: Flush the prefetched SCU DSP instruction when PC is set via PPAF, instead of when END/ENDI executes or when execution is forcibly stopped, per tests on a SS.
  • SS: Disallow SCU DSP LOP from being written in a looped single instruction unless it's the final iteration, per tests on a SS.
  • SS: Allow SCU DSP LOP to underflow to 0xFFF with LPS and BTM, per tests on a SS.
→ [MULTI] Mednafen x86/x64 1.21.1 MFix

Complete ChangeLog -Mednafen 1.21.1

March 9, 2018:

  • Enabling the automatic save state loading/saving feature will no longer cause an error to be outputted on game load if the save state does not exist.

March 3, 2018:

  • Added support for compiling and linking with external LZO instead of the bundled miniLZO.
  • A CD image loading hint will now be appended to the ROM image too large error message in certain circumstances.

February 25, 2018:

  • PC-FX: Added a missing variable to save states.
  • (Re)Added backwards-compatibility "video.driver" setting value aliases.

February 24, 2018:

  • NES: Misc minor fixes for a few bootleg mappers.
  • NES: Added missing data to VS Unisystem save states.
  • NES: Added missing variable to mapper 64 save states.
  • NES: Added missing save state support to the mapper 22 code.
  • NES: Fixed improper handling of an MMC1 variable in save states.

February 22, 2018:

  • Fixed handling of the "osd.state_display_time" setting to allow a value of "0" to work as expected.
→ [MULTI] Mednafen x86/x64 0.9.45

Mednafen 0.9.45 July 1, 2017 - 21:33 PDT

Notable changes since 0.9.44:

  • Tweaked netplay sound buffer underrun kludge code.
  • The netplay server host and port being connected to are now printed to the netplay console at the beginning of a connection attempt.
  • Netplay connection attempts to servers are now non-blocking.
  • SS: Synchronize end of SMPC clock change commands to beginning of vsync instead of beginning of vblank, per tests on a SS.
  • SS: Reworked how the VDP2 rendering thread waits, to make Saturn emulation usable with the default OpenBSD kernel.
  • SS: Added emulation of the light gun("Stunner"/"Virtua Gun").
  • #include'd many commonly-used C and C++ standard library headers in types.h(and removed redundant #include statements from various header and source files), to reduce the probability of portability problems(due to neglecting to explicitly include a header file) when different standard C/C++ libraries behave differently in regards to what header files include what other header files.
  • Added a sound output driver for OpenBSD's /dev/audio.
  • Reworked the sound output format conversion code to be more versatile,
  • NES: Wrote new "Barcode Battler II" emulation code to replace the old "Barcode World" code, based on quick testing with actual hardware(albeit the English version).
  • SSFPlay: Added save state support.

-- 0.9.45: --

May 29, 2017:

  • Tweaked netplay sound buffer underrun kludge code.
  • The netplay server host and port being connected to are now printed to the netplay console at the beginning of a connection attempt.
  • Netplay connection attempts to servers are now non-blocking.


May 25, 2017:

  • SS: Synchronize end of SMPC clock change commands to beginning of vsync instead of beginning of vblank, per tests on a SS.


May 23, 2017:

  • SS: Reworked how the VDP2 rendering thread waits, to make Saturn emulation usable with the default OpenBSD kernel.
  • SS: Added emulation of the light gun("Stunner"/"Virtua Gun").


April 28, 2017:

  • #include'd many commonly-used C and C++ standard library headers in types.h(and removed redundant #include statements from various header and source files), to reduce the probability of portability problems(due to neglecting to explicitly include a header file) when different standard C/C++ libraries behave differently in regards to what header files include what other header files.
  • Added a sound output driver for OpenBSD's /dev/audio.
  • Reworked the sound output format conversion code to be more versatile,


April 25, 2017:

  • NES: Wrote new "Barcode Battler II" emulation code to replace the old "Barcode World" code, based on quick testing with actual hardware(albeit the English version).


April 24, 2017:

  • SSFPlay: Added save state support.
→ [MULTI] Mednafen x86/x64 0.9.44.1

Mednafen 0.9.44.1 April 21, 2017 - 21:33 PDT

Notable changes since 0.9.43:

  • Added command-line option "-which_medium", to specify which CD to start with when using multi-CD M3U sets.
  • SNES: Fixed "Tractor Beam" spell graphical glitches in "Star Ocean".
  • SNES: Fixed emulator hang when saving state in "Panic Bomber W".
  • SNES_FAUST: Added PAL support.
  • SNES_FAUST: Made minor optimizations to the BG rendering code.
  • SNES_FAUST: Added setting "snes_faust.correct_aspect", default value of "1".
  • SS: Fixed broken input in "Primal Rage"(a 0.9.43 regression).
  • SS: Added support for a 16MiB RAM cart mapped into the A-bus CS1 area(for "Heart of Darkness" and homebrew).
  • VB: Added support for custom palettes.
  • VB: Reworked how LED on-state duration is translated into RGB values and added setting "vb.ledonscale"; the default value of "vb.ledonscale" is set such that the overall brightness will be lower than in previous versions of Mednafen, to reduce white crush, but the user can set it to a value of "1.9921875" to approximate the old brightness level.
  • WonderSwan: Removed setting "wswan.rotateinput", and added a new device("gamepadraa") that can be selected on virtual input port 1 to automatically rotate inputs when the display is rotated.

Changelog -- 0.9.44.1: --

April 21, 2017:
  • MD: Added a missing MDFN_FASTCALL, the absence of which broke 32-bit x86 builds(either at link time or run time).

-- 0.9.44: --

April 19, 2017:
  • PSX: Restructured the GPU emulation code and data a bit to get a minor performance boost.
April 18, 2017:
  • VB, PCE, WonderSwan, MD, GBA: Use fastcall calling convention(on 32-bit x86) in a few (more) places where it makes sense.
April 16, 2017:
  • SNES-Faust: Added setting "snes_faust.correct_aspect", default value of "1".
  • SNES-Faust: Added PAL support.
April 14, 2017:
  • SNES-Faust: Made minor optimizations to the BG rendering code.
April 9, 2017:
  • Added command-line option "-which_medium", to specify which CD to start with when using multi-CD M3U sets.
April 5, 2017:
  • SNES: Fixed emulator hang when saving state in "Panic Bomber W".
April 3, 2017:
  • Added some simple scripts to cross-compile and package Mednafen for Windows.
  • Added Windows cross-compiler toolchain setup notes.
  • 32-bit Windows builds are now compiled with -march=i686 instead of -march=i586(shouldn't affect compatibility for official builds, since the toolchain and libraries were already effectively being compiled with -march=i686, which was not intended, but since nobody apparently complained... ;p).
March 25, 2017:
  • VB: Added support for custom palettes.
  • VB: Reworked how LED on-state duration is translated into RGB values and added setting "vb.ledonscale"; the default value of "vb.ledonscale" is set such that the overall brightness will be lower than in previous versions of Mednafen, to reduce white crush, but the user can set it to a value of "1.9921875" to approximate the old brightness level.
March 20, 2017:
  • SNES: Made a couple of SDD1 registers readable; fixes "Tractor Beam" spell graphical glitches in "Star Ocean"(thanks to orbea).
March 17, 2017:
  • SS: Added support for a 16MiB RAM cart mapped into the A-bus CS1 area(for "Heart of Darkness" and homebrew).
March 15, 2017:
  • WonderSwan: Removed setting "wswan.rotateinput", and added a new device("gamepadraa") that can be selected on virtual input port 1 to automatically rotate inputs when the display is rotated.
March 14, 2017:
  • Reworked text drawing to not use an excessive number of potentially-large VLAs.
  • Moved statements with important side effects outside of assert()s in settings.cpp.
  • Replaced ancient Unicode conversion code with newly-developed code.
March 7, 2017:
  • SS: Prioritize SMPC command execution over VBlank handler execution, per (limited) tests on a SS. Fixes broken input in "Primal Rage"(a 0.9.43 regression)
→ [MULTI] Mednafen x86/x64 0.9.43

Notable changes since 0.9.42:

  • PSX: Reduced DualShock rumble latency by 1 frame.
  • SS: Added multitap emulation, enableable via settings "ss.input.sport1.multitap" and "ss.input.sport2.multitap".
  • SS: Added steering wheel emulation(for "Virtua Racing", and other racing games that lack 3D Pad analog support).
  • SS: Added Mission Stick and Dual Mission Stick emulation.
  • SS: Added 101-key US keyboard emulation.
  • SS: Fixed hang in "F1 Challenge".
  • SS: Fixed missing voice acting and related hangs in "Magic Knight Rayearth".
  • Reworked how input grabbing is handled. The new way uses only one key combo(CTRL+SHIFT+Menu), and will adapt its behavior based on any keyboards being selected on any virtual input ports or not(refer to the documentation for full details). A new setting is added, "command.toggle_grab", and two settings were removed, "command.toggle_grab_input" and "command.toggle_cidisable".
  • Emulated keyboard(FKB, Tsushin, Saturn) key state is now only updated when input grabbing is toggled on.

-- 0.9.43: --

February 24, 2017:

  • Reworked how input grabbing is handled.  The new way uses only one key combo(CTRL+SHIFT+Menu), and will adapt its behavior based on any keyboards being selected on any virtual input ports or not(refer to the documentation for full details).  A new setting is added, "command.toggle_grab", and two settings were removed, "command.toggle_grab_input" and "command.toggle_cidisable".
  • Emulated keyboard(FKB, Tsushin, Saturn) key state is now only updated when input grabbing is toggled on.

February 22, 2017:

  • SS: Fixed SMPC read handling of an empty input port.
  • SS: Implemented emulation of SMPC 0-byte port read mode.
  • PSX: Reduced rumble latency by 1 frame.

February 20, 2017:

  • Reworked how keyboard key state is handled, to prevent extremely short button presses from being lost(like what can happen with the Pause key, or other keys when slow-forwarding is active).
  • SS: Added 101-key US keyboard emulation.

February 17, 2017:

  • SS: Allow SMPC commands to be dual-issued; fixes hang in "F1 Challenge", and hangs/missing sound in "Magic Knight Rayearth".
  • SS: Added emulation of the 6-Player Adaptor(multitap).

February 15, 2017:

  • SS: Added emulation of the Mission Stick and Dual Mission Sticks.

February 13, 2017:

  • SS: Added emulation of the steering wheel("Arcade Racer"), for use with "Virtua Racing", "High Velocity - Mountain Racing Challenge", "The Need for Speed", and other Saturn racing games that apparently lack 3D pad support.
→ [MULTI] Mednafen x86/x64 0.9.42

Notable changes since 0.9.41:

  • NES: Added support for iNES mapper 190.
  • SNES_FAUST: Added multitap support(enable via setting "snes_faust.input.sport2.multitap").
  • SS: Fixed severely-flickering graphics in "Virtua Cop" and "Virtua Cop 2".
  • SS: Fixed speed problems in "Pocket Fighter".
  • SS: Fixed FMV tearing in "Johnny Bazookatone".
  • SS: Fixed hang in "GunBlaze-S".
  • SS: Fixed hangs in "Virtua Fighter" and "Virtua Fighter Remix"(still some graphical weirdness, though).
  • SS: Fixed hang in "Zero Divide".
  • SS: Fixed missing sound problem in "Arcade's Greatest Hits".
  • SS: Fixed missing sound and related issues in "Ultimate Mortal Kombat 3". ChangeLog -- 0.9.42: --

February 7, 2017:

  • SS: Ignore lower bit of VDP1 sprite draw command texture base address when drawing using color mode 5, per tests on a SS; fixes some of the
  • graphical glitches in "All-Star Baseball 97". February 6, 2017:
  • SS: Ignore writes to VDP1 registers via SCU DMA under certain conditions to approximate what happens on a SS; fixes hang in "GunBlaze-S".
  • SS: Fixed handling of RSTCSR WOVF clearing, per tests on a SS. Also changed the semantics of RSTCSRM a bit to simplify things, might want to change
  • WTCSRM, FTCSRM, etc. semantics too in the future for consistency...
  • SS: Fixed handling of WTCSR OVF clearing, per tests on a SS.
  • Updated tremor to revision 19427.
  • Updated libogg to version 1.3.2.
  • Fixed a bug that caused a crash if the user tried to select(via CTRL+SHIFT+[n]) a device on a non-existent virtual input port.

February 5, 2017:

  • SNES-Faust: Added multitap support.

February 3, 2017:

  • SS: Fixed a bug in the handling of M68K level 7 interrupts; fixes missing sound in "Arcade's Greatest Hits".

February 1, 2017:

  • SS: Suspend VDP1 command processing while an SCU DMA from SDRAM to VDP1 VRAM is active, to approximate how a SS behaves. Fixes FMV tearing in "Johnny Bazookatone", and fubared graphics in "Virtua Cop" and "Virtua Cop 2".

January 31, 2017:

  • SS: Fixed handling of clearing FTCSR bits, per tests on a SS.

January 30, 2017:

  • SS: Improved instruction timing(though still far from perfect); fixes speed problems in "Pocket Fighter", reduces the size of the flickering area in "Lunar"'s FMV, and fixes the crash that occurs immediately after gameplay starts in "Virtua Fighter" and "Virtua Fighter Remix".

January 26, 2017:

  • NES: Added support for iNES mapper 190.

January 25, 2017:

  • SS: Clear SCU internal pending interrupt bit upon the SCU's acceptance of the IRQ to send to the SH-2, instead of when the SH-2 fetches the vector, per tests on a SS.
→ [MULTI] Mednafen x86/x64 0.9.41

articularly notable changes since 0.9.39.2:

  • Renamed settings "*.pixshader" to "*.shader".
  • Added simple color TV CRT-approximating OpenGL shader, "goat".
  • PSX: Added "psx.input.analog_mode_ct.compare" setting to control the combination of buttons used when the functionality controlled by the "psx.input.analog_mode_ct" setting is enabled.
  • SMS: Added settings "sms.slstart", "sms.slend", "sms.slstartp", and "sms.slendp".
  • SNES: Added setting "snes.h_blend", default value of "0", that when set to "1" will enable a horizontal blend/blur filter.
  • SS: Added setting "ss.correct_aspect", default value of "1", to allow the user to disable aspect ratio correction(not recommended, but whatever~).
  • SS: Added setting "ss.h_overscan", default value of "1", to allow the user to show less of the screen on the left and right sides by setting it to "0".
  • SS: Added setting "ss.h_blend", default value of "0", that when set to "1" will enable a horizontal blend/blur filter(with a more noticeable effect on the Saturn video modes with a higher horizontal resolution).
  • SS: Fixed the low volume problem in "Daytona USA".
  • SS: Fixed missing/corrupted graphics of battle scenes in "Grandia".
  • WonderSwan: Minor sound and graphics emulation accuracy improvements, from patches and suggestions provided by trap15.

 

-- 0.9.41: --

January 21, 2017:

  • SS: Implemented disc change IRQ on disc eject.

January 20, 2017:

  • Replaced usage of trio_snprintf() to a fixed-size buffer for path construction in general.cpp with manual concatenation of std::string strings.

January 18, 2017:

  • Use _beginthreadex() instead of CreateThread() on Windows, to avoid a small memory leak.
  • Now explicitly use 64-bit walltime functions on 32-bit Windows builds.

January 17, 2017:

  • PCE, PCE_FAST: Added a missing sound emulation variable to save states.

January 16, 2017:

  • SNES: Added setting "snes.h_blend", default value of "0", that when set to "1" will enable a horizontal blend/blur filter.

January 15, 2017:

  • PCE: Improved SuperGrafx window handling in 10MHz dot clock modes.
  • GBA: Modified RTC emulation to not use standard C library walltime functions during emulation.
  • Wrapped various time functions, and dropped the dependencies on SDL time functions, in Time.cpp/Time.h.

January 14, 2017:

  • WonderSwan: Fixed off-by-1 bugs in window coordinate evaluation, per tip from trap15.
  • WonderSwan: Fixed copyright notice headers to not allow distribution under versions of the GPL other than version 2(an oversight from
  • back when the Cygne code was added to Mednafen).
  • WonderSwan: Applied sound and DMA emulation fixes from trap15; fixes rain sound effect in "Star Hearts". The changes did necessitate lowering
  • the overall WonderSwan sound emulation volume a bit to prevent excessive clipping, however.

January 12, 2017:

  • SS: Fixed a logic error in the VDP2 rendering code; fixes battle scenes in "Grandia".

January 10, 2017:

  • SS: Removed a few bad entries in the internal region-correction database that were breaking the Korean releases of some games.

January 9, 2017:

  • PCE, PCE_FAST: Added support for auto-enabling SuperGrafx emulation with CDs when a mode 1 data track has the 16-byte magic
  • "4D 65 64 6E 61 66 65 6E 74 AB 90 19 42 62 7D E6" at offset 0x86A(assuming 2048 bytes per sector), for homebrew and translations.

January 7, 2017:

  • SS: Added emulation of the SCSP 18-bit DAC enable bit; fixes low volume problem in "Daytona USA".
  • SS: Fixed some bugs that broke emulation on big-endian platforms.

January 5, 2017:

  • Fixed an off-by-1 memory corruption bug in the debugger's memory editor relative bytestring search code.
  • VB: Finally commented out some debug printf()s.

January 1, 2017:

  • Cleaned up code that passes video data from the game thread to the main thread, and replaced some volatile usage with atomics.

December 31, 2016:

  • Fixed a large memory leak that occurred when saving screenshots with SHIFT+F9.
  • VB: Fixed a regression introduced in 0.9.39.2 that caused transient sound/note distortion on save state load.

December 27, 2016:

  • Moved TCP/IP networking code into the core of Mednafen, and added support for non-blocking connects, so the Saturn emulation module can eventually use
  • it for modem emulation.

December 25, 2016:

  • Modified configure script to (hopefully) compile in the Saturn emulation module when building for PPC64 and AArch64 architectures(in addition to x86_64).

December 21, 2016:

  • Allow emulated digital button mappings to be used in AND mode(like command keys configured with SHIFT+F2) if the user manually
  • prefixes the "/&& " magic string to the mapping setting string in the configuration file. Can be useful with emulated switches and mode toggle buttons,
  • but the in-emulator input configuration process will need to be revamped before enabling this mode for a mapping can be done in a sane and
  • more user-friendly manner.
  • Rewrote round_up_pow2() in math_ops.h to use MDFN_log2, which in turn uses MDFN_lzcount*(), since the major CPUs that Mednafen is going
  • to run on should have dedicated instructions to (at least indirectly) count leading zeroes. Also changed the semantics to return 0 on overflow instead of 1.

December 20, 2016:

  • SS: Now use leading-zero counting function from math_ops.h in the VDP2 rendering code, instead of using inline assembly.
  • Reorganized the leading/trailing bit counting functions in math_ops.h, added 32-bit and 64-bit trailing-bit counting functions, and added faster
  • variants where passing a 0 results in an undefined result.

December 19, 2016:

  • Print out the game key used after a connection is established with netplay, when the game key is not empty.
  • SMS: Added settings "sms.slstart", "sms.slend", "sms.slstartp", and "sms.slendp".
  • Added some checks to help prevent a black screen when the scanlines effect is enabled via a <system>.scanlines setting and the effective Y scale is
  • too small(by forcing negative-value behavior in the case of interlaced video, or temporarily disabling the effect otherwise).

December 18, 2016:

  • PSX: The functionality controlled by the "psx.input.analog_mode_ct" setting no longer interferes with netplay.
  • PSX: Added "psx.input.analog_mode_ct.compare" setting to control the combination of buttons used when the functionality controlled by the
  • "psx.input.analog_mode_ct" setting is enabled.
  • Modified build system to use $(localedir) instead of $(datadir)/locale for LOCALEDIR define.
  • Updated miniLZO to version 2.09.

December 14, 2016:

  • SS: Added setting "ss.h_blend", default value of "0", that when set to "1" will enable a horizontal blend/blur filter(with a much noticeable effect on the
  • Saturn video modes with a higher horizontal resolution).

December 10, 2016:

  • SS: Added setting "ss.h_overscan", default value of "1", to allow the user to show less of the screen on the left and right sides by setting it to "0".

December 9, 2016:

  • SS: Added setting "ss.correct_aspect", default value of "1", to allow the user to disable aspect ratio correction(not recommended, but whatever~).
  • Added simple TV CRT-approximating OpenGL shader, "goat".

December 8, 2016:

  • Renamed settings "*.pixshader" to "*.shader".

December 7, 2016:

  • Check for and use -no-pie instead of just -nopie in the configure script, to fix build failures on at least one platform.

December 6, 2016:

  • Fixed half-source-pixel image offset bug in the "autoip", "ipxnoty", and "ipynotx" pixel shaders.
  • Fixed altivec.h header detection regression in 0.9.39.

October 7, 2016:

  • Fixed a bug that caused input movie recording to produce broken recordings when done during netplay with an emulation module
  • that uses mid-frame sync functionality.
→ [MULTI] Mednafen x86/x64 0.9.39.2 VIP

-- 0.9.39.2: -- September 19, 2016:

  • SMS: Sanitize some previously-missed variables in the save state loading code.
  • MD: Fixed a bug that caused some YM2612 state to not be restored properly on save state load.
  • MD, SMS, NGP: Fixed an old Z80 emulation bug with interrupt handling. Make an index of save state sections on save state load, to detect sections in a save state that are unused by the state loading code(for debugging).
  • MD, PCE, PCE_FAST: Sanitize some previously-missed variables in the save state loading code.
  • SS: Added PAL support.
  • SS: Fixed vertical positioning brokenness with custom "ss.slstart" setting values with interlaced video.
  • PC-FX, WonderSwan, NES, VB, PSX: Sanitize some previously-missed variables in the save state loading code.
  • Fixed a use-after-free bug in the SDL sound output driver.
  • NGP: Fixed several off-by-1 bugs in the address to ROM data translation function.
  • Removed nonsensical unused frame advance loop in drivers/main.cpp leftover from 0.5.x.
  • PCE_FAST: Fixed a bug that could cause a crash with large "pce_fast.ocmultiplier" setting values when running CD games.
  • PCE_FAST: Skip 512-byte copier header if detected when loading a ROM image.
  • PCE_FAST: Made some minor optimizations.
  • PCE, PSX, PCE_FAST: Avoid UB by biasing uintptr_t values instead of pointers directly in the CPU core.
  • GB: Corrected the layer names used with the layer toggling feature.
  • SS: Fixed a potential problem with SH-2 DMA event rescheduling when bus lock is held, that probably wouldn't ever happen in practice.
  • NES: Fixed several instances of missing initialization of on-cart WRAM.
  • SS: Marked more functions with MDFN_COLD hint, and marked a few functions to be forcibly-inlined where it makes sense.
  • SNES: Fixed an issue causing a compilation error on Mac OS X.
  •  
→ [MULTI] Mednafen x86/x64 0.9.39.1 VIP

-- 0.9.39.1: --

  • Sega Saturn: Settings « ss.dbg_mask » and « ss.dbg_exe_cdpath », and the functionality they control, are no longer available unless Mednafen has been compiled with « MDFN_SS_DEV_BUILD » defined(such as with -DMDFN_SS_DEV_BUILD=1 in CPPFLAGS env var passed to configure).
  • Sega Saturn: Replaced some instances of case ranges with more portable constructs.
  • Sega Saturn: Run VDP1 vblank erase at end of vblank, so we know how much time we have and thus how many entries in the framebuffer we’ll be able to erase. Currently, the available time calculations are generous, allowing for a bit more erase than what’s possible on a Saturn, but we can tighten it up in the future once it’s fairly certain there aren’t any more event scheduling accuracy issues. Fixes FMV subtitle text in « Panzer Dragoon ».
  • Sega Saturn: Fixed a bug that caused VDP2 frames to be short by 1 to 3 CPU cycles.
  • Sega Saturn: Reschedule the SH-2 DMA event handler as necessary to prevent it from running when the SH-2 bus is locked.
  • Sega Saturn: Force the SH-2 DMA and SCU DMA event handlers to be rescheduled to SH7095_mem_timestamp time when necessary.
  • Sega Saturn: Check for pending events right before calling VDP1, VDP2, SMPC, and SCU regs read/write handlers, which may then call their own event update functions.
  • Fixed an old bug that could cause a startup crash on Windows systems without XInput DLLs installed(e.g. some Windows XP systems).
  • NES: Fixed a very old bug triggered when disabling(via CTRL+1) the background layer, that would cause sprite pixels to also be visually disabled too under certain circumstances.
  • MD, PC-FX: Fixed several instances of left-shifting negative values.
  • Sega Saturn: Fixed a compilation error when compiling with the debugger disabled(« –disable-debugger » passed to configure).
  • Added configure options « –with-external-mpcdec » and « –with-external-tremor », for distribution packagers.
  • SS, SNES-Faust: Fixed a few issues causing compilation errors on clang.
  • Sega Saturn: Tweaked how seek command pause works; fixes a lockup issue in « Astal ».
  • WonderSwan: Fixed a bad usage of « char » without an unsigned/signed qualifier.
  • Sega Saturn: Slow down SCU DMA to VDP2 VRAM under certain conditions.
  • Sega Saturn: Adjusted VDP1 polygon and line draw commands to behave as if SPD=1, ECD=1 when color mode >= 6; fixes missing graphics problem in « Hi-Octane ».
  • Sega Saturn: Reworked SCU DMA’s timekeeping and scheduling code to be more accurate; reduces the size of the flickering section of the FMV in « Lunar ».
  • Sega Saturn: Fixed handling of CPU<->SMPC open bus.
  • Relaxed the CloneCD Q subchannel sanity checks to allow a track number of 0xAA(leadout).
  • Sega Saturn: Implemented kludgy(incomplete) support for quasi-illegal window X start position values; fixes ground layer issues in the forest stage of Panzer Dragoon 2.
Inne treści związane z tematem
[MULTI] Mednafen x86/x64 1.21.2 [MULTI] Mednafen x86/x64 1.21.2;
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 ...
[gba] mGBA 0.6.2 [gba] mGBA 0.6.2;
mGBA to emulator Nintendo GameBoy Advance autorstwa Jeffreya Pfau napisany w C, więc powinien w miarę dobrze radzić sobie również na słabszych platformach. Nowa wersja, jak wspomina autor, to zestaw poprawek, które mają poprawić stabilność i kompatybilność aplikacji z ...
[MULTI] XPECCY 0.6 build 2018/09/18 [MULTI] XPECCY 0.6 build 2018/09/18;
Xpeccy jest linuksowym emulatorem maszynek zgodnych z ZX Spectrum (przede wszystkim rosyjskich klonów) i od paru wersji także maszynki MSX1, Nintendo GameBoy/GameBoy Color oraz NINTENDO 8 i jego rosyjskiego odpowiednika Dendy. Emulator wymaga biblioteki QT, jeśli chcemy go odpalić pod ...
[NES] MyNes x86 7.2.6677 [NES] MyNes x86 7.2.6677;
Al Hadid opublikował nową wersję emulatora NINTENDO8 - MyNes, gdyby to jeszcze z samo siebie obsługiwało archiwa.
[gba] mGBA 0.6.3 [gba] mGBA 0.6.3;
mGBA to emulator Nintendo GameBoy Advance autorstwa Jeffreya Pfau napisany w C, więc powinien w miarę dobrze radzić sobie również na słabszych platformach. Nowa wersja, jak wspomina autor, to zestaw poprawek, które mają poprawić stabilność i kompatybilność aplikacji z ...
Dodatkowe informacje
Komentarze

Tshirt "Antiriad The Secret Armour"

Newsy Linkownia Emulatory na PC Wideoteka Bajtek Reduks Ready.Run

© Try2emu 1999 - 2018 | Krzysztof 'Faust' Karkosza Google+Kontakt