Mercurial > spc_convert
diff changes.txt @ 0:e38dacceb958
initial import
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Fri, 21 Oct 2011 05:53:11 -0700 |
parents | |
children |
line wrap: on
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/changes.txt Fri Oct 21 05:53:11 2011 -0700 1.3 @@ -0,0 +1,107 @@ 1.4 +snes_spc Change Log 1.5 +------------------- 1.6 + 1.7 +snes_spc 0.9.0 1.8 +-------------- 1.9 +- Improved documentation 1.10 + 1.11 +- SPC: Added spc_skip() function for quickly seeking in an SPC music 1.12 +file. Runs 3-4x faster than normal playback using the fast DSP (or about 1.13 +43-60X real-time on my 400 MHz Mac). 1.14 + 1.15 +- SPC: Added spc_set_tempo() to change tempo of SPC music playback. 1.16 + 1.17 +- SPC: Sample generation is now corrected to generate exactly one pair 1.18 +of samples every 32 clocks without exception. Before it could generate a 1.19 +few samples more or less depending on how far ahead or behind DSP was at 1.20 +the moment. 1.21 + 1.22 +- SPC: Changed spc_reset() and spc_soft_reset() to also reset output 1.23 +buffer (see spc.h). 1.24 + 1.25 +- SPC: Fixed minor timer counting bug. 1.26 + 1.27 +- SPC: Stack pointer wrap-around is now emulated (and without any 1.28 +noticeable performance hit). 1.29 + 1.30 +- SPC: Runs about 5% faster due to various optimizations. 1.31 + 1.32 +- SPC: Found way to make fast DSP register accesses cycle-accurate in 1.33 +most cases, without reducing performance. Allows fast DSP to pass most 1.34 +of my validation tests. 1.35 + 1.36 +- DSP: Added surround disable support to fast DSP again. 1.37 + 1.38 +- DSP: Improved voice un-muting to take effect immediately on fast DSP. 1.39 + 1.40 +- DSP: Noise shift register now starts at 0x4000 instead of 0x4001 as it 1.41 +incorrectly did before. 1.42 + 1.43 +- Converted library to C++ code internally. A C interface is still 1.44 +included in spc.h and dsp.h. Note that these are different than the 1.45 +previous interface, so your code will require minor changes: 1.46 + 1.47 + Old SPC code New SPC code 1.48 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1.49 + #include "spc/spc.h" #include "snes_spc/spc.h" 1.50 + 1.51 + snes_spc_t* spc; SNES_SPC* spc; 1.52 + spc = malloc( sizeof (snes_spc_t) ); spc = spc_new(); 1.53 + spc_init( spc ); 1.54 + 1.55 + spc_end_frame( time ); spc_end_frame( spc, time ); 1.56 + /* etc. */ 1.57 + 1.58 + /* done using SPC */ spc_delete( spc ); 1.59 + 1.60 + 1.61 + Old DSP code New DSP code 1.62 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1.63 + #include "spc/spc_dsp.h" #include "snes_spc/dsp.h" 1.64 + 1.65 + spc_dsp_init( ram ); SPC_DSP* dsp; 1.66 + dsp = spc_dsp_new(); 1.67 + spc_dsp_init( dsp, ram ); 1.68 + 1.69 + spc_dsp_run( count ); spc_dsp_run( dsp, count ); 1.70 + /* etc. */ 1.71 + 1.72 + /* done using DSP */ spc_dsp_delete( dsp ); 1.73 + 1.74 + 1.75 +snes_spc 0.8.0 1.76 +-------------- 1.77 +- Added several demos 1.78 + 1.79 +- Added high-pass/low-pass filter to better match SNES sound 1.80 + 1.81 +- Added save state functionality for SPC and accurate DSP (but not fast 1.82 +DSP) 1.83 + 1.84 +- Added emulation of reset switch on NES (soft reset) 1.85 + 1.86 +- Made source more compatible with pre-C99 compilers by eliminating 1.87 +mid-block declarations 1.88 + 1.89 +- SPC: Many S-SMP accuracy improvements, mostly in memory access times 1.90 + 1.91 +- SPC: S-SMP speed improvements 1.92 + 1.93 +- SPC: Added SPC load/save functions and KON checking to help trim 1.94 +silence from beginning 1.95 + 1.96 +- SPC: Changed spc_init() to have you allocate most of the memory used 1.97 +by the library so you have more control over it 1.98 + 1.99 +- DSP: New highly accurate DSP and faster version derived from same code 1.100 + 1.101 +- DSP: Changed prefix from dsp_ to spc_dsp_. Your DSP code will require 1.102 +changes. 1.103 + 1.104 +- DSP: Removed surround disable and gain. Gain can now be done with the 1.105 +dsp_filter module, and surround disable will probably only be 1.106 +implemented in the fast DSP at some point. 1.107 + 1.108 +- DSP: Changed interface to work in clocks rather than samples, 1.109 +necessary for the new accurate DSP. Sample output is now done with 1.110 +separate functions. Your DSP code will require changes.