annotate readme.txt @ 9:477c36226481 tip

added old scripts for historical interest.
author Robert McIntyre <rlm@mit.edu>
date Fri, 21 Oct 2011 07:46:18 -0700
parents e38dacceb958
children
rev   line source
rlm@0 1 snes_spc 0.9.0: SNES SPC-700 APU Emulator
rlm@0 2 -----------------------------------------
rlm@0 3 This library includes a full SPC emulator and an S-DSP emulator that can
rlm@0 4 be used on its own. Two S-DSP emulators are available: a highly accurate
rlm@0 5 one for use in a SNES emulator, and a 3x faster one for use in an SPC
rlm@0 6 music player or a resource-limited SNES emulator.
rlm@0 7
rlm@0 8 * Can be used from C and C++ code
rlm@0 9 * Full SPC-700 APU emulator with cycle accuracy in most cases
rlm@0 10 * Loads, plays, and saves SPC music files
rlm@0 11 * Can save and load exact full emulator state
rlm@0 12 * DSP voice muting, surround sound disable, and song tempo adjustment
rlm@0 13 * Uses 7% CPU average on 400 MHz Mac to play an SPC using fast DSP
rlm@0 14
rlm@0 15 The accurate DSP emulator is based on past research by others and
rlm@0 16 hundreds of hours of recent research by me. It passes over a hundred
rlm@0 17 strenuous timing and behavior validation tests that were also run on the
rlm@0 18 SNES. As far as I know, it's the first DSP emulator with cycle accuracy,
rlm@0 19 properly emulating every DSP register and memory access at the exact SPC
rlm@0 20 cycle it occurs at, whereas previous DSP emulators emulated these only
rlm@0 21 to the nearest sample (which occurs every 32 clocks).
rlm@0 22
rlm@0 23 Author : Shay Green <gblargg@gmail.com>
rlm@0 24 Website: http://www.slack.net/~ant/
rlm@0 25 Forum : http://groups.google.com/group/blargg-sound-libs
rlm@0 26 License: GNU Lesser General Public License (LGPL)
rlm@0 27
rlm@0 28
rlm@0 29 Getting Started
rlm@0 30 ---------------
rlm@0 31 Build a program consisting of demo/play_spc.c, demo/demo_util.c,
rlm@0 32 demo/wave_writer.c, and all source files in snes_spc/. Put an SPC music
rlm@0 33 file in the same directory and name it "test.spc". Running the program
rlm@0 34 should generate the recording "out.wav".
rlm@0 35
rlm@0 36 Read snes_spc.txt for more information. Post to the discussion forum for
rlm@0 37 assistance.
rlm@0 38
rlm@0 39
rlm@0 40 Files
rlm@0 41 -----
rlm@0 42 snes_spc.txt Documentation
rlm@0 43 changes.txt Change log
rlm@0 44 license.txt GNU LGPL license
rlm@0 45
rlm@0 46 demo/
rlm@0 47 play_spc.c Records SPC file to wave sound file
rlm@0 48 benchmark.c Finds how fast emulator runs on your computer
rlm@0 49 trim_spc.c Trims silence off beginning of an SPC file
rlm@0 50 save_state.c Saves/loads exact emulator state to/from file
rlm@0 51 comm.c Communicates with SPC how SNES would
rlm@0 52 demo_util.h General utility functions used by demos
rlm@0 53 demo_util.c
rlm@0 54 wave_writer.h WAVE sound file writer used for demo output
rlm@0 55 wave_writer.c
rlm@0 56
rlm@0 57 fast_dsp/ Optional standalone fast DSP emulator
rlm@0 58 SPC_DSP.h To use with full SPC emulator, move into
rlm@0 59 SPC_DSP.cpp snes_spc/ and replace original files
rlm@0 60
rlm@0 61 snes_spc/ Library sources
rlm@0 62 blargg_config.h Configuration (modify as necessary)
rlm@0 63
rlm@0 64 spc.h C interface to SPC emulator and sound filter
rlm@0 65 spc.cpp
rlm@0 66
rlm@0 67 SPC_Filter.h Optional filter to make sound more authentic
rlm@0 68 SPC_Filter.cpp
rlm@0 69
rlm@0 70 SNES_SPC.h Full SPC emulator
rlm@0 71 SNES_SPC.cpp
rlm@0 72 SNES_SPC_misc.cpp
rlm@0 73 SNES_SPC_state.cpp
rlm@0 74 SPC_CPU.h
rlm@0 75
rlm@0 76 dsp.h C interface to DSP emulator
rlm@0 77 dsp.cpp
rlm@0 78
rlm@0 79 SPC_DSP.h Standalone accurate DSP emulator
rlm@0 80 SPC_DSP.cpp
rlm@0 81 blargg_common.h
rlm@0 82 blargg_endian.h
rlm@0 83 blargg_source.h
rlm@0 84
rlm@0 85 --
rlm@0 86 Shay Green <gblargg@gmail.com>