2e6c363e96
TODO: /dev/dsp needs to be replaced, haven't got around to that yet, feel free to do it (simple SUBST* should do it). Changes: 0.4.3: (Note: PCE CD save states created in previous versions will not work very well with this release) Fixed a compilation problem in cdromif.cpp regarding NULL on *BSD platforms by including <string.h>. Lynx: Fixed the constructor and destructor declarations of the C65C02 class, which should fix a reported compilation error with gcc 4.1. GBA: Added a few missing variables to save states. GB: Lines during which time the screen is turned off are now cleared(fixes flickering problems at the start of games, and during transitory blank screens). Fixed the SDL_net.h include statement in drivers/netplay.cpp. PCE: Fixed a bug with CUE+BIN sector size handling with regards to pregaps. CUE+BIN is still officially unsupported. :B PCE: Noise is now rendered at blip_med_quality. PCE: Removed the code that checks to make sure the audio sector to play is non-zero. Fixes "Crazy Hospital". Changed the maximum supported playback rate from 96KHz to 48KHz, to be able to safely extend the temporal precision of Blip_Buffer further. Note that this shouldn't be considered a regression, as there are virtuall no benefits to using a sample rate above 48KHz in Mednafen(though there may be benefits in other applications). *************** ***BIG NOTE:*** *************** If you previously set the playback rate above 48KHz, you will have to manually edit the text configuration file(~/.mednafen/mednafen.cfg) to bring the value in range. This is necessary because of a limitation in the setting validation code. Updated to Blip_Buffer 0.4.0, which offers improved sound quality over previous versions: - Improved sound quality by rewriting library to use 32-bit internal sample buffer, higher phase resolution, and a properly windowed filter kernel. Current user code should work without changes. PCE: When sprites and background are both disabled, and the VDC is not in burst mode, the scanline is now filled with color 0x000 from the palette rather than 0x100. This fixes the "Hurry Up" water effect in the CD game "Rainbow Islands". PCE: Fixed the CD-DA amplitude calculating(used the BIOS' CD-DA player interface). PCE: Altered VDC line timing slightly. PCE: ADPCM frequency is no longer reset on ADPCM reset, fixes Gulliver Boy's dialogue voices during gameplay. PCE: Fixed reading from nonexistant audio sectors(by memset()'ing the audio buffer to zero). PCE: Implemented sector reading delays, games that use FMV like Gulliver Boy work much better now. It's not implemented 100% correctly, and requires a small CPU hack to disable IRQs during a timing-sensitive period of emulation. I don't like hacks, but...it's still better than the giant hack of reading all the sectors at once, which was how it used to be. PCE: Implemented ADPCM read and write delay. "Record of Lodoss War" no longer locks up at the title screen. PCE: Opcode and operand data reads from VDC register 0x1 will now return 0x40, which fixes Dragon Slayer 2. I doubt this is correct, but it shouldn't break any other game. PCE: CUE+BIN audio playback no longer locks up the emulator, but CUE+BIN is still officially unsupported. 0.4.2: Fixed sprite hit emulation, fixes problems with VS Duck Hunt and VS Hogan's Alley that have existed since Nintencer. Modified VS Unisystem light gun emulation slightly to be more accurate. Fixed the in-emulator sound(nsf,gsf,hes) player's waveform visualization, broken in 0.4.1. 0.4.1: Joysticks initialization is now slightly more verbose. Fixed hash calculation in the joystick code, and added a workaround for hash collisions(which would occur if two extremely similar joysticks are used on the same system). Video initialization is now more verbose. The -<system>.special command-line arguments for selecting a special scaler now take the short name of the scaler, which is found in the documentation, instead of arbitrarily-chosen numbers. However, out of the goodness of my cold, black heart, arbitrarily-chosen numbers may still be used, though it should be considered deprecated. Example: -nes.special 1 (deprecated, but works, selecting hq2x) -nes.special hq2x (good!) -nes.special wombat (bad!) libsndfile is now used for WAVE recording(instead of the old ugly code). Altered the internal floating-point format used to represent audio data by changing the range to -1.0<=sample<=1.0(previously it was 0.0<=sample<=1.0). NES: Fixed a 1-byte overflow bug in the Barcode World input device emulation code by changing a strcpy() to a memcpy(). Added a "-help" command-line option, which prints out command-line arguments and parameters. Fixed the configuration file loading code to exit the emulator if invalid data is in the configuration file, instead of just ignoring it and the rest of the entries, thus trashing the configuration file on exit. Changed the default xscale and yscale settings for Lynx to 4. Physical mouse buttons can now be assigned to virtual buttons. The width and height of the state preview are now saved in save states, fixing a problem with broken save states if the -nes.clipsides option is used, and possibly in other situations(note that this won't fix the problem in old save states, only new ones). Fixed a garbage(OSD stuff) problem in screen snapshots and save states when they are done after a frame that has been skipped(the solution is to delay the snapshot/save state until the next frame, which is set to not be skip). Fixed a typo that broke the hq3x effect(it had weird graphical glitches). Modified more settings to use the new plain-text configuration file format. 0.4.0: Various minor code changes I forgot to document. I hope none of them are of the Mednafen-exploding variety. ;) Added support for saving and loading settings in a plain-text file format, and moved many settings to use this code. This file is named "mednafen.cfg" in the Mednafen base directory(whereas the old binary configuration file is still named "mednafen03x.cfg"). NES: Merged RDoPCM() into RDoNoise(), reducing CPU usage slightly. NES: Removed the pedantically high-quality sound mode, and reduced the filter order for downsampling from 512 to 256, with a larger transition band and smaller passband, creating a somewhat subtle low-pass filter effect on the audible portion of the signal, and decreasing CPU usage. NES: Made optimizations to the CPU and PPU emulation code. PCE: Added -pce.forcesgx, -pce.ocmultiplier, -pce.nospritelimit, -pce.cdbios, -pce.cddaquality, and -pce.compressor command-line options PCE: Sound(excluding CDDA in CD emulation mode) is now passed through an audio volume compressor. NES: Zero-page and stack memory accesses now go through the normal read-write function pointer system. This will increase CPU usage slightly, but it's important for future plans(readding cheat support, and an enhanced sound system through OggVorbis and WAV files). Updated to Blip_Buffer and Blip_Synth 0.3.6b1. Added special gcc options to configure.ac to get gcc to actually inline many functions that are specified to be inlined. Sometimes I wonder if gcc developers are sane... NES: Fixed a weird typo(with apparently no effect) in the B2005() function in ppu/ppu.cpp Fixed scanlines effect when using a special scaler. Lynx: Optimized the sound rendering code slightly. PCE: Added PCE CD emulation. NES: Fixed the AMD64 MMX sound downsampling assembly code. This bug fix fixes staticy sounds and other problems with NES audio on AMD64 platforms(only in 64-bit mode, of course :)). Removed MDFND_UTF8fopen() and MDFND_UTF8gzopen(), since they weren't really doing anything useful, and the same functionality could be provided more easily with some kind of wrapper library, if it's needed in the future. Updated the ZIP-file handling code with the newest version available, 1.01e. GBA: Updated most of the GBA emulation code with newer code from VBA's CVS repositoy. MDFN_FastU32MemsetM8() no longer tries to use floating-point data types, which was causing very bizarre problems on x86_64 targets when compiled with gcc 4.0, and was probably an illegal thing to do anyway, as far as portability is concerned(or maybe gcc 4.0's autovectorizer is broken). This fixes problems with many GBA games when Mednafen is compiled with gcc 4.0. Added code to check for SDL_net in configure.ac and error out if it's not found, instead of blindly trying to compile. A negative result for the JACK test in configure.ac will now print the result "no". Removed the argument to AM_GNU_GETTEXT in configure.ac, effectively setting it to "no-libtool". This will force a static library to be made when necessary, instead of a shared library, which should fix problems some people have been having with missing shared library error messages(libintl.so.3 and libintl.dll, for example). |
||
---|---|---|
.. | ||
patches | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST | ||
TODO |