mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			262 lines
		
	
	
	
		
			9.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			262 lines
		
	
	
	
		
			9.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
Game_Music_Emu Change Log
 | 
						|
-------------------------
 | 
						|
 | 
						|
Game_Music_Emu 0.6.0
 | 
						|
--------------------
 | 
						|
 | 
						|
- Note: A 0.5.6 release was referenced but never tagged or packaged.
 | 
						|
 | 
						|
- SPC improvements:
 | 
						|
    - Switched to newer snes_spc 0.9.0 for SPC emulation. Uses fast DSP.
 | 
						|
    - Fixed Spc_Emu::gain().
 | 
						|
    - Fixed support for files <0x10200 bytes.
 | 
						|
 | 
						|
- Other bugfixes:
 | 
						|
    - Fixed a couple of GBS bugs, one involving access of memory after
 | 
						|
      realloc.
 | 
						|
    - Blip_Buffer works on systems where 'double' is a single-precision
 | 
						|
      floating-point type.
 | 
						|
    - Fix uninitialized buffer size in dual_resampler.
 | 
						|
    - Compilation warnings squashed out as of clang 3.3-pre and gcc 4.7.2.
 | 
						|
 | 
						|
- API changes/additions:
 | 
						|
    - Removed documentation of C++ interface, as the C interface in gme.h is
 | 
						|
      the only supported one.
 | 
						|
    - Added gme_enable_accuracy() for enabling more accurate sound emulation
 | 
						|
      options (currently affects SPC only).
 | 
						|
 | 
						|
- Build system improvements:
 | 
						|
    - Add pkg_config support.
 | 
						|
    - Fix build on case-insensitive systems.
 | 
						|
    - Allow for install on Cygwin.
 | 
						|
    - Fix install on multilib systems, such as many 64-bit distros (CMake must
 | 
						|
      be able to figure out your system's libsuffix, if any).
 | 
						|
    - C++ implementation symbols are not leaked into the resultant library
 | 
						|
      file (requires symbol visibility support).
 | 
						|
 | 
						|
- Sample player improvements:
 | 
						|
    - Can toggle fast/accurate emulation (with the 'A' key).
 | 
						|
 | 
						|
Game_Music_Emu 0.5.5
 | 
						|
--------------------
 | 
						|
- CMake build support has been added.  You can build Game_Music_Emu as
 | 
						|
a shared library and install it so that you do not have to include your
 | 
						|
own copy if you know libgme will be present on your target system.
 | 
						|
Requires CMake 2.6 or higher.
 | 
						|
 | 
						|
 | 
						|
Game_Music_Emu 0.5.2
 | 
						|
--------------------
 | 
						|
- *TONS* of changes and improvements. You should re-read the new header
 | 
						|
files and documentation as the changes will allow you to simplify your
 | 
						|
code a lot (it might even be simpler to just rewrite it). Existing code
 | 
						|
should continue to work without changes in most cases (see Deprecated
 | 
						|
features in gme.txt).
 | 
						|
 | 
						|
- New file formats: AY, HES, KSS, SAP, NSFE
 | 
						|
 | 
						|
- All-new comprehensive C interface (also usable from C++). Simplifies
 | 
						|
many things, especially file loading, and brings everything together in
 | 
						|
one header file (gme.h).
 | 
						|
 | 
						|
- Information tags and track names and times can be accessed for all
 | 
						|
game music formats
 | 
						|
 | 
						|
- New features supported by all emulators: end of track fading,
 | 
						|
automatic silence detection, adjustable song tempo, seek to new time in
 | 
						|
track
 | 
						|
 | 
						|
- Updated mini player example to support track names and times, echo,
 | 
						|
tempo, and channel muting, and added visual waveform display
 | 
						|
 | 
						|
- Improved configuration to use blargg_config.h, which you can modify
 | 
						|
and keep when you update to a newer libary version. Includes flag for
 | 
						|
library to automatically handle gzipped files using zlib (so you don't
 | 
						|
need to use Gzip_File_Reader anymore).
 | 
						|
 | 
						|
- GBS: Fixed wave channel to not reset waveform when APU is powered off
 | 
						|
(affected Garfield). Also improved invalid bank selection (affected Game
 | 
						|
& Watch and others).
 | 
						|
 | 
						|
- VGM: Added support for alternate noise shifter register
 | 
						|
configurations, used by other systems like the BBC Micro.
 | 
						|
 | 
						|
- SPC: Removed IPL ROM dump from emulator, as none of the SPC files I
 | 
						|
scanned needed it, and an SPC file can include a copy if necessary. Also
 | 
						|
re-enabled supposed clamping in gaussian interpolation between the third
 | 
						|
and fourth lookups, though I don't know whether it matters
 | 
						|
 | 
						|
- Added Music_Emu::load_mem() to use music data already in memory
 | 
						|
(without copying it)
 | 
						|
 | 
						|
- Added Music_Emu::warning(), which reports minor problems when loading
 | 
						|
and playing a music file
 | 
						|
 | 
						|
- Added Music_Emu::set_gain() for uniform adjustment of gain. Can only
 | 
						|
be set during initialization, so not useful as a general volume control.
 | 
						|
 | 
						|
- Added custom operator new to ensure that no exceptions are thrown in
 | 
						|
the library (I'd use std::nothrow if it were part of pre-ISO (ARM) C++)
 | 
						|
 | 
						|
- Added BLIP_BUFFER_FAST flag to blargg_config.h to use a lower quality
 | 
						|
bandlimited synthesis in "classic" emulators, which might help
 | 
						|
performance on ancient processors (measure first!). Don't use this
 | 
						|
unless absolutely necessary, as quality suffers.
 | 
						|
 | 
						|
- Improved performance a bit for x86 platforms
 | 
						|
 | 
						|
- Text files now in DOS newline format so they will open in Notepad
 | 
						|
properly
 | 
						|
 | 
						|
- Removed requirement that file header structures not have any padding
 | 
						|
added to the end
 | 
						|
 | 
						|
- Fixed common bug in all CPU emulators where negative program counter
 | 
						|
could crash emulator (occurred during a negative branch from the
 | 
						|
beginning of memory). Also fixed related bug in Z80 emulator for
 | 
						|
IX/IY+displacement mode.
 | 
						|
 | 
						|
- Eliminated all warnings when compiling on gcc 4.0. The following
 | 
						|
generates no diagnostics:
 | 
						|
 | 
						|
	gcc -S gme/*.cpp -o /dev/null -ansi -fno-gnu-keywords
 | 
						|
	-fno-nonansi-builtins -pedantic -W -Wabi -Wall -Wcast-align
 | 
						|
	-Wcast-qual -Wchar-subscripts -Wdisabled-optimization -Werror
 | 
						|
	-Winline -Wlong-long -Wmultichar -Winvalid-offsetof
 | 
						|
	-Wnon-virtual-dtor -Woverloaded-virtual -Wparentheses
 | 
						|
	-Wpointer-arith -Wredundant-decls -Wreorder -Wsign-compare
 | 
						|
	-Wsign-promo -Wunknown-pragmas -Wwrite-strings
 | 
						|
 | 
						|
 | 
						|
Game_Music_Emu 0.3.0
 | 
						|
--------------------
 | 
						|
- Added more demos, including music player using the SDL multimedia
 | 
						|
library for sound, and improved documentation
 | 
						|
 | 
						|
- All: Improved interface to emulators to allow simpler setup and
 | 
						|
loading. Instead of various init() functions, all now support
 | 
						|
set_sample_rate( long rate ) and load( const char* file_path ).
 | 
						|
 | 
						|
- All: Removed error return from start_track() and play(), and added
 | 
						|
error_count() to get the total number of emulation errors since the
 | 
						|
track was last started. See demos for examples of new usage.
 | 
						|
 | 
						|
- All: Fixed mute_voices() muting to be preserved after loading files
 | 
						|
and starting tracks, instead of being cleared as it was whenever a track
 | 
						|
was started
 | 
						|
 | 
						|
- VGM: Rewrote Vgm_Emu to support Sega Genesis/Mega Drive FM sound at
 | 
						|
any sample rate with optional FM oversampling, support for alternate
 | 
						|
YM2612 sound cores, and support for optional YM2413
 | 
						|
 | 
						|
- VGM: Added tempo control, useful for slowing 60Hz NTSC Sega Genesis
 | 
						|
music to 50Hz PAL
 | 
						|
 | 
						|
- VGM: Removed Vgm_Emu::track_data(), since I realized that this
 | 
						|
information is already present in the VGM header (oops!)
 | 
						|
 | 
						|
- GYM: Changed Gym_Emu::track_length() operation (see Gym_Emu.h)
 | 
						|
 | 
						|
- NSF: Added support for Sunsoft FME-7 sound chip used by Gimmick
 | 
						|
soundtrack
 | 
						|
 | 
						|
- NSF: Fixed Namco 106 problems with Final Lap and others
 | 
						|
 | 
						|
- Moved library sources to gme/ directory to reduce clutter, and merged
 | 
						|
boost/ functionality into blargg_common.h
 | 
						|
 | 
						|
- Added Gzip_File_Reader for transparently using gzipped files
 | 
						|
 | 
						|
 | 
						|
Game_Music_Emu 0.2.4
 | 
						|
--------------------
 | 
						|
- Created a discussion forum for problems and feedback:
 | 
						|
http://groups-beta.google.com/group/blargg-sound-libs
 | 
						|
 | 
						|
- Changed error return value of Blip_Buffer::sample_rate() (also for
 | 
						|
Stereo_Buffer, Effects_Buffer, etc.) to blargg_err_t (defined in
 | 
						|
blargg_common.h), to make error reporting consistent with other
 | 
						|
functions. This means the "no error" return value is the opposite of
 | 
						|
what it was before, which will break current code which checks the error
 | 
						|
return value:
 | 
						|
 | 
						|
	// current code (broken)
 | 
						|
	if ( !buf.sample_rate( samples_per_sec ) )
 | 
						|
		out_of_memory();
 | 
						|
	
 | 
						|
	// quick-and-dirty fix (just remove the ! operation)
 | 
						|
	if ( buf.sample_rate( samples_per_sec ) )
 | 
						|
		out_of_memory();
 | 
						|
	
 | 
						|
	// proper fix
 | 
						|
	blargg_err_t error = buf.sample_rate( samples_per_sec );
 | 
						|
	if ( error )
 | 
						|
		report_error( error );
 | 
						|
 | 
						|
- Implemented workaround for MSVC++ 6 compiler limitations, allowing it
 | 
						|
to work on that compiler again
 | 
						|
 | 
						|
- Added sample clamping to avoid wrap-around at high volumes, allowing
 | 
						|
higher volume with little distortion
 | 
						|
 | 
						|
- Added to-do list and design notes
 | 
						|
 | 
						|
- Added Music_Emu::skip( long sample_count ) to skip ahead in current
 | 
						|
track
 | 
						|
 | 
						|
- Added Gym_Emu::track_length() and Vgm_Emu::track_length() for
 | 
						|
determining the length of non-looped GYM and VGM files
 | 
						|
 | 
						|
- Partially implemented DMC non-linearity when its value is directly set
 | 
						|
using $4011, which reduces previously over-emphasized "popping" of
 | 
						|
percussion on some games (TMNT II in particular)
 | 
						|
 | 
						|
- Fixed Fir_Resampler, used for SPC and GYM playback (was incorrectly
 | 
						|
using abs() instead of fabs()...argh)
 | 
						|
 | 
						|
- Fixed SPC emulation bugs: eliminated clicks in Plok! soundtrack and
 | 
						|
now stops sample slightly earlier than the end, as the SNES does. Fixed
 | 
						|
a totally broken CPU addressing mode.
 | 
						|
 | 
						|
- Fixed Konami VRC6 saw wave (was very broken before). Now VRC6 music
 | 
						|
sounds decent
 | 
						|
 | 
						|
- Fixed a minor GBS emulation bug
 | 
						|
 | 
						|
- Fixed GYM loop point bug when track was restarted before loop point
 | 
						|
had been reached
 | 
						|
 | 
						|
- Made default GBS frequency equalization less muffled
 | 
						|
 | 
						|
- Added pseudo-surround effect removal for SPC files
 | 
						|
 | 
						|
- Added Music_Emu::voice_names() which returns names for each voice.
 | 
						|
 | 
						|
- Added BLARGG_SOURCE_BEGIN which allows custom compiler options to be
 | 
						|
easily set for library sources
 | 
						|
 | 
						|
- Changed assignment of expansion sound chips in Nsf_Emu to be spread
 | 
						|
more evenly when using Effects_Buffer
 | 
						|
 | 
						|
- Changed 'size_t' values in Blip_Buffer interface to 'long'
 | 
						|
 | 
						|
- Changed demo to generate a WAVE sound file rather than an AIFF file
 | 
						|
 | 
						|
 | 
						|
Game_Music_Emu 0.2.0
 | 
						|
--------------------
 | 
						|
- Redid framework and rewrote/cleaned up emulators
 | 
						|
 | 
						|
- Changed licensing to GNU Lesser General Public License (LGPL)
 | 
						|
 | 
						|
- Added Sega Genesis GYM and Super Nintendo SPC emulators
 | 
						|
 | 
						|
- Added Namco-106 and Konami VRC6 sound chip support to NSF emulator
 | 
						|
 | 
						|
- Eliminated use of static mutable data in emulators, allowing
 | 
						|
multi-instance safety
 | 
						|
 | 
						|
 | 
						|
Game_Music_Emu 0.1.0
 | 
						|
--------------------
 | 
						|
- First release
 |