Mednafen v0.9.25 WIP Changelog:
-- 0.9.25-WIP: -- October 9, 2012: Fixed a problem of usage of uninitialized memory in a startup function in drivers/input.cpp. October 8, 2012: PSX: Tweaked GunCon hit detection, to improve menu behavior in games like "Point Blank 2". PSX: Reduced the penalty time required to resume from a Pause state to the best-case observed times(for 1x and 2x) on a PS1; more accurate modeling will need to take into account the time passed since the Pause command among other things(TODO for the future maybe, though the relationship between time passed and time to resume from a Pause state is a bit...wonky). PSX: Pause command completion time is now more accurate, per tests on a PS1. October 7, 2012: PSX: Changed conditions under which "GetLocL" fails, per limited tests on a PS1. Fixed a game-breaking lockup in "Star Ixiom". PSX: Added CDC "Standby" command and status emulation, fixes a game-breaking lockup in "Philosoma". October 6, 2012: PSX: Don't run DMA channel 1 unless there really is data available from the MDEC; fixes partially-broken FMV in "Rayman". October 5, 2012: PSX: DMA, and GPU FIFO emulation tweaks, to fix a regression in "Legacy of Kain - Soul Reaver"(the game does something fairly unique; it has a transfer length of 0x10 in some linked-list headers). PSX: Increased base cycle usage counts for polygon commands, per tests on a PS1. PSX: Improved GPU FIFO behavior, based on tests on a PS1. The GPU on an actual PS1 appears(more of a hypothesis than anything, based on limited data) to have a contention or dependency system with different functional units that have access to the FIFO; the changes here just simulate some of its less-computationally-expensive characteristics in regards to GPU status bits and gross/rough timing. September 30, 2012: Fixed numerous code constructs that caused errors and/or warnings when compiling for the C++11 standard. September 29, 2012: PSX: Improved reliability of the Konami Justifier simulated offscreen shot process. PSX: More event handling tweaks. September 28, 2012: PSX: Added experimental emulation of the DREAD Konami Justifier. This light gun makes tears of pain flow in a torrent. PSX: Added partial emulation of some esoteric timer features, though what was added is probably not totally correct. PSX: Altered the global event system to use a sorted doubly-linked list, to allow for more precise timing of events in relation of one sub-device/chip to another. September 27, 2012: Added code to allow CD image file data to be entirely loaded into memory, though the code is not used as such at current. SNES: Added boolean setting "snes.correct_aspect", default value of "0"(preserving previous behavior). PSX: Added additional heuristics for determining game region; fixes misdetection of the region for the North American release of "Wing Commander IV". September 25, 2012: PSX: Tweaked GunCon x coordinate scaling. Changed absolute mouse x and y coordinate passing from driver->core to be in 1.15.16 fixed point format(previously simple integers), to avoid excess precision loss when scaling the coordinates from viewport dimensions to nominal_width and nominal_height. September 24, 2012: PSX: Added preliminary GunCon emulation. Genesis: Adjusted aspect ratio slightly. PSX: Adjusted NTSC aspect ratio slightly. PSX: Reduced internal frame buffer width by 1/4(reduces memory usage). PSX: When playing a PSF, virtual input(gamepad, etc.) devices are no longer emulated as being connected. The CUE sheet reader will now seek past a UTF-8 BOM at the beginning of a CUE sheet if present(and print an error/warning message). Fixed resource leakage issue when CUE/TOC sheet loading aborts due to an error. September 20, 2012: Removed the rawer parts of a half-baked idea implemented long ago in the virtual input device abstraction structures, and removed some extremely poorly-scaling-with-increased-emulated-system-count-and-emulated-device-count code that said half-baked functionality required, shaving a considerable amount off Mednafen's startup time (though probably not really noticeable on faster CPUs). Modified settings loading and saving code to use new FileStream functionality. September 18, 2012: Modified the CD image reading and "AudioReader" code(used for reading MS WAV/Vorbis/MusePack/etc) to operate on a "Stream" object instead of using stdio functions on "FILE", in regards to files used for track data. This allows MemoryStream to be used very easily to preload the track file data into memory, which may be put to use in the future. Implemented FileStream, derived from Stream, as a quick wrapper around FileWrapper(HAH). September 15, 2012: Map SDL hats to buttons instead of axes in the new joystick interface abstraction code, to prevent loss of information. September 8, 2012: Entered more information into the possible values enum struct for the *.debugger.disfontsize setting(s) so that the possible values will be in the autogenerated documentation. September 7, 2012: Added a const char* "Description" member to the "InputDeviceInfoStruct", and did some minor internal plumbing so it will be propagated to the automatically-generated documentation if non-NULL. (For the possibility of more verbose emulated input device information for the *.input.port* settings in the documentation) September 6, 2012: Increased size of line buffer used in settings file reading. Changed input configuration evaluation code to allow multiple physical mappings to a single emulated analog button/axis to work properly(it is somewhat useful for neGcon emulation). PSX: Added neGcon emulation. September 5, 2012: Added setting "input.joystick.global_focus". Renamed settings: autofirefreq -> input.autofirefreq analogthreshold -> input.joystick.axis_threshold ckdelay -> input.ckdelay September 3, 2012: PSX: Don't mask the address specified by the memcard write command, but instead signal an error condition if the address is invalid, per tests on a PS1. September 1, 2012: Reduced memory usage of internal runtime text rendering data structures by about 2.4MB for 64-bit builds, and about 0.8MB for 32-bit builds. August 31, 2012: Only destroy and recreate the emulated device and device state on the port being altered with CTRL+SHIFT+[n], rather than all ports, to avoid usability problems with more complex input devices(like on the PS1 for instance). Fixed a longstanding bug that caused input configuration data to be lost if you changed the device on a port with CTRL+SHIFT+[n] after configuring input without an emulator exit in-between. August somethingth, 2012: PSX: Added DualShock emulation, complete with Analog mode toggle button emulation. Revamped physical joystick/gamepad support: Added native code targeting DirectInput(5.0) and XInput on MS Windows, and jsdev and evdev on Linux. Added support for rumble on Linux and XInput devices on MS Windows. Refactored and recoded much of the joystick input configuration handling code. Added kludgey support for handling physical joystick analog buttons in the input configuration process without it freaking out: Note: The process described below should NOT be necessary if you're using an XBox 360/XInput controller under MS Windows. If you're using such a controller under a different operating system, or using a non-XBox 360/non-XInput controller, and it has analog buttons, then you should perform the process as described below. Also note that the process is only necessary when you're configuring inputs, and not during "normal" gameplay/usage. Twirl all sticks and D-pads and press all analog buttons on any physical gamepads/joysticks with analog buttons you want to use in the input configuration process, then press F3. Then, configure input as normal. The detected analog buttons will be recognized during input configuration until Mednafen exits; if you exit Mednafen and restart, and want to configure input devices again, you'll need to repeat the twirling-pressing-F3 process again). August 12, 2012: Fixed a bug that was causing the FPS display to be missing if the "overlay" video driver was used in combination with PC Engine emulation. Removed the last vestiges of the driver-side handling of the long since removed/replaced PC-FX multi-resolution-frame multi-layer alpha blending method. August 11, 2012: Added setting "osd.alpha_blend", default value of "1", that controls enabling of OSD alpha-channel blending. Set it to "0" for a speedup when using the "sdl" video.driver. Software("sdl" video driver) render fixes/improvements: Improved precision and rounding behavior with the fixed-point math used for scanline effects and non-integer scaling. Implemented alpha blending for all OSD elements except the FPS display. Added support for the scanlines effect when the screen is rotated(via ALT+O). Fixed a bug that caused an enabled scanline effect to be missing when a special scaler(hq2x, hq3x, scale2x, etc) is used and no post-special-scaler scaling is necessary. August 10, 2012: Implemented minor optimizations to the "sdl" "video.driver" scanlines effect code. Changed a ton of driver-side OSD rendering code to use MDFN_Surface instead of SDL_Surface. August 1, 2012: Fixed port numbering(from 0-based to 1-based) in the error message display after trying to configure buttons for a nonexistent virtual device/port. June 14, 2012: Added a non-threaded alternative implementation of CDIF(currently unused, but will be useful if we ever target an OS without multithreading capabilities). July 13, 2012: Lynx: Made reporting of errors during game load to be more verbose. GB: Error out if a ROM image to be loaded is less than 512 bytes in size. GB: Don't use TestMagic() in Load(), and don't return -1. (So that -force_module gb will work as expected) |
Download: Mednafen v0.9.25 WIP
Source: Here
0 Comments
Post a Comment