Mednafen 0.9.18 WIP changelog:
-- 0.9.18-WIP: --
August 11, 2011: SexyAL: Added support for reversed-byte-order(relative to CPU endianness) sample formats to the ALSA driver; this will allow for better support for non-native soundcards(such as a little-endian sample format "PC" soundcard plugged into an old PowerPC Mac big-endian system running Linux). SNES: Added support for custom palettes. GB: Added support for custom palettes. August 9, 2011: The "P" subchannel is now simulated along with the Q subchannel in the CD read functions. This shouldn't have any effect on emulation now, as the P subchannel data isn't used by any system emulation code in Mednafen, but it may be used in the future. Improved accuracy of simulated Q subchannel data for pregap areas, in the CD read functions. August 8, 2011: Added path checks to files referenced in CUE sheets and PSF files, controlled(enabled/disabled) via the setting "filesys.untrusted_fip_check". Added untested support for the "POSTGAP" directive in CUE sheets. Added support for specifying absolute file paths in PSF files and CUE/TOC files. August 7, 2011: When loading a state, if the recorded variable/datum size is not equal to the expected size of the variable, it will be treated as missing and not loaded. Removed redundant function "CDIF_GetTrackStartPositionLBA()". Removed mostly-redundant, and inconsistent across disc images and physical discs, functions "cdrfile_get_track_sec_count()" and "CDIF_GetTrackSectorCount()". GB: Fixed coarse instruction timing and flag behavior for several instructions, based on blargg's CPU tests and on code in the VBA-M SVN repository. Fixed a file descriptor leak in the save state preview code, that could cause file descriptor exhaustion if multiple save states are used extensively in one session. Thanks to raz0red for reporting the bug. August 5, 2011: SNES: Implemented RAM cheats and cheat search via the common interface. WonderSwan: Cart save RAM is now available to the cheat engine code(it was supposed to be before, but the code was passing the pointer before it was initialized). Genesis: Updated EEPROM code to newer code from Genesis Plus GX, and fixed most of the EEPROM database entries that were previously broken in Mednafen. August 4, 2011: Genesis: Refactored and tweaked input device emulation a bit to fix input unresponsiveness issues in "Samurai Spirits/"Samurai Shodown". August 3, 2011: Genesis: Revamped 6-button gamepad emulation, and made it actually work. August 1, 2011: Fixed a lack of mutex locks in the debugger's memory viewer when editing memory, that could cause crashes or wrong behavior in certain cases. Began work on supporting comments in the disassembled code in the debugger. July 29, 2011: Genesis: Made H-counter reading less completely wrong, but it's likely still mostly wrong(added a TODO entry for fixing it). WonderSwan: Fixed(made considerably less broken at least!) debugger's fubar branch history(it only took a few years, I guess no one used the WonderSwan debugger much :b). July 28, 2011: WonderSwan: Cleaned up debugger code a bit. WonderSwan: Encapsulated in a namespace. The music player interface's waveform display will now saturate the Y coordinate to the screen boundaries rather than forcing it to the middle of the screen(not sure why it was doing that before, doesn't make much sense). NES: Tweaked the audio resampling algorithms a bit to prevent degraded audio quality on high-amplitude input samples. NES: Corrected audio resampler filter setup debug printfs to use more-correct labels, and added more information. NES: Added AltiVec support to the audio resampler. July 27, 2011: Internal text renderer now truncates text with pixel granularity rather than glyph granularity. July 26, 2011: NES: Reduced fb_height from 256 to 240. GBA: Changed "gba.bios" setting to use Mednafen's firmware path construction semantics rather than specifying a path used directly. GBA: The "gba.bios" setting is now ignored when playing a GSF, fixing GSF playback with a real BIOS ROM image is used. July 25, 2011: PCE_FAST: Changed x86 inline assembly to manually push and pop rbx/ebx, rather than listing it in the clobber list, to work around pedanticness in compilers in certain cases. Added a test to make sure "char" type is signed to "tests.cpp". Added a quick and dirty signed overflow test to "tests.cpp". July 18, 2011: Lynx: ROM image headers are now read out field-by-field rather than memcpy()'ing into a packed struct. July 16, 2011: Genesis: A loaded file with an extension of "md" will now be treated as a Sega Genesis/Megadrive game. July 8, 2011: WonderSwan: Added "Code Segment", "Stack Segment", "Data Segment", and "Extra Segment" logical address spaces to the debugger's memory editor. July 5, 2011: Added highlighting to the instruction disassembly for the instruction that PC is pointing to, to avoid confusion when the disassembly cursor is moved off in step mode from the current PC. Debugger disassembly will now be forcibly resynchronized to PC, in addition to the current disassembly cursor address(currently, only the latter was synched). PCE: Revamped branch history to show the old PC in addition to the new PC, not to add an entry when a conditional branch isn't taken, to show reset and IRQ events/"branches", and to show branch count when repeatedly branching to the same target from the same source with no other branches in-between. These changes necessitated reducing the number of entries in the branch history from 32 to 24. T = timer, 1 = IRQ1, 2 = IRQ2, R = reset. Increased the available area for branch history display in the debugger. Halved the size(and number of bytes displayed) of the memory watch section in the debugger when the disassembly list is selected(and offseted the watch address by -0x80 when the register list is selected). Jun 26, 2011: Replaced the old CPU flag testing code with newer code from libavutil from ffmpeg. Restructured architecture detection code in configure.ac. Jun 19, 2011: Fixed a minor(it's unlikely to have noticeably affected any commercial games) LFO emulation bug in the HuC6280 sound core emulation code, reported by "mic_". Jun 13, 2011: GBA: GSF playback now uses new PSF loading code developed for the PS1 emulation module. Changed the music player overlay to use std::string instead of C-strings. Jun 7, 2011: Fixed a lack of variable initialization in the WAV recording code, which could cause WAV recordings to have an erroneous value in a size field in the header. Jun 5, 2011: PC-FX, VB: Implemented a minor CPU optimization that could cause regressions. TODO: Test games. Jun 2, 2011: Changed "INLINE" #define in the SoftFloat target definition file from "extern inline" to "static inline" to resolve issues user "mziab" reported with gcc 4.6.0. May 30, 2011: NGP: Fixed the "ngp.language" setting to work properly with the non-numeric setting values("english" and "japanese") (previously it was always Japanese language selection for both strings). May 28, 2011: Genesis: Fixed a bug in the 68K emulation core that caused major problems in some games("Instruments of Power", "The Lost Vikings", perhaps others) when running on big-endian platforms. May 20, 2011: PCE: Loading Games Express CD games will now automatically load the Games Express CD Card BIOS; BIOS filename is specified by the new "pce.gecdbios" setting, default value of "gecard.pce". PCE: Added Games Express CD game detection based on CRC32s for the remaining handful of games that the previous method didn't detect. May 18, 2011: Tweaked CD simulated read ahead to read farther ahead, but incrementally instead of all at once as before. April 28, 2011: SNES: Fixed PAL video output size, and frame rate when using netplay. April 27, 2011: SexyAL: Rewrote the channel and format conversion code, now allowing for output channel count up to 8; and, tweaked the ALSA code to work with devices that only support > 2(but code is limited to <= 8) channels. (The Audigy 2's "p16v" sub-device in ALSA can now be used directly by Mednafen) April 23, 2011: Fixed a crash on exit when one audio file(FLAC, WAV, Vorbis, etc.) is used for multiple tracks in a CUE sheet. April 17, 2011: NES, PCE: Fixed relative branch target address 16-bit wrapping in the debugger's disassembler. PCE: Added "SET" instruction to the debugger's disassembler(can't believe it's been missing all this time). April 15, 2011: Fixed "--disable-vb" option to ./configure, thanks to Rakashazi for reporting the bug. April 8, 2011: PC-FX: Fixed debugger's timer register text, and hooked up sound chip register setting in the debugger. PCE: Altered VDC line timing to fix raster effects in "Camp California" and "Shape Shifter". The changed way probably still isn't right, but it's something commercial games are unlikely to rely on anyway(except in maybe those hidden "four-screen" modes), and the previous way WAS breaking commercial games. PCE: Fixed a timing bug in the maximum VDC wait state calculation code(wasn't taking into account VCE-controlled events like hsync and vsync changing state). April 5, 2011: VB: Fixed register 30 state during and after *bsu instructions. Thanks to blitter for pointing the bug out and submitting a patch. PCE: Improved ADPCM emulation based on more tests run on the real system. Fixes a lockup bug in "Hyper Wars". (The changes made have the potential to cause regressions, however, if any are found please report them) Mar 7, 2011: Hackish fix for problems with CUE/BIN disc images(particularly bad with multiple BIN style images) that contain "INDEX 00" statements in the CUE sheet. (Problems ranging from incorrect Q subchannel data for the pregap to wrong track start LBAs) February 12, 2011: PC-FX, MD: Factored the deinterlacing code out of the individual emulation modules and into the core Mednafen code. PCE: Adjusted ADPCM emulation slightly, fixes massive A/V sync problems with "Sherlock Holmes". January 29, 2011: NGP: Masked NGP BIOS syscall code properly, thanks to SANiK for pointing it out. MD: Changed line timings so vertical refresh rates are the same in both 256 and 320-wide modes. PCE: Fixed a Seiya Monogatari ADPCM-related lockup, thanks to Rakashazi for pointing the problem out. January 15, 2011: Began adding PlayStation 1 emulation. January 5, 2011: Fixed "volatile" placement on several pointer declarations. |
Download: Mednafen 0.9.18 WIP
Source: Here
0 Comments
Post a Comment