-----------------------------------------------------------------------------
Bleep!                                                           version 1.04
NSF player plugin for Winamp 2.x
Copyright 1999 Neill Corlett
-----------------------------------------------------------------------------

Update History
--------------

v1.04:
  * The Nintendo MMC5 sound chip is now supported, for Famicom games that
     use the extra available sound channels.
  * More minor bugs in the APU core are fixed, affecting the following games:
     A Boy and His Blob, Crystalis, Maniac Mansion, Megaman 2, Klax, Solar
     Wars, various Sunsoft games
  * A bug which caused Bleep! to crash when loading corrupted NSFs has been
     fixed.
v1.03:
  * The Konami VRC7 sound chip is now supported!
  * Winamp's built-in visualizer now works at 32000 and 22050 Hz.
  * Another bug which caused sporadic invalid page faults has been fixed.
v1.02:  Minor fixes to APU core; drums now work in Crystalis and SMB3.
v1.01:  Problems regarding "optimized" NSFs have been resolved.
v1.0:   First release


Introduction
------------

Bleep! is an input plugin for Winamp that plays NSF files.  NSF files contain
6502 music code ripped from NES games.  Bleep! emulates the 6502 CPU and
sound hardware in the NES, in order to play the music from these games.

The NSF format was invented by Kevin Horton (kevtris) and is based largely on
the SID file format, which serves the same purpose for C64 games.  NSF files
are also similar to SPC files dumped from SNES games, except that a single
NSF file usually contains the entire soundtrack to a game, whereas each SPC
can contain only one song.

Bleep! also emulates the following expansion sound chips:

* Konami VRC6
* Konami VRC7
* Nintendo MMC5

These are automatically enabled for the appropriate NSF files.

If you don't have any NSF files to play, you can start by checking the
following pages:

* My NSF page at http://www4.ncsu.edu/~nscorlet/nsf/
* The NSF archive at Zophar's Domain: http://www.zophar.net/nsf/


Requirements
------------

* Any PC capable of running Winamp 2.x
* Winamp 2.x (which can be downloaded freely from www.winamp.com)


Setup
-----

Copy IN_BLEEP.DLL into the PLUGINS directory inside your Winamp directory,
i.e. "C:\Program Files\Winamp\Plugins\".  Close and re-start Winamp if
necessary so it will recognize the new plugin.

If you have any other NSF player plugins already installed, you may want to
move them to another directory to make sure Winamp uses Bleep! to play NSF
files.  Better yet, delete the old NSF plugin.  You might not even miss it.

Before using the Bleep! plugin, you may want to configure it.  Go to the
"Plug-ins" / "Input" section of Winamp's Preferences dialog, then click on
the Bleep! plugin, and finally the Configure button, to bring up the Bleep!
configuration dialog.  From here, you can change the output sample rate to
22, 32, 44, or 48 KHz, enable or disable filtering, or change the title
format (as seen in Winamp's main window and playlist window).  Any changes
are automatically saved to the PLUGIN.INI file in your Winamp plugin
directory, but do not take effect until the next time a NSF file is played.


Usage
-----

To being playing a NSF file, simply open the NSF file in Winamp (add it to
your playlist if necessary), and click Play, just as you would with a MP3 or
any other kind of file.

To play the second song in the NSF file, click the Play button again, without
opening a new NSF.  To play the third song, click the Play button again.
After the last song is played, Bleep! will return to the first song.

A trackbar interface is in the works (though the current simple, unintrusive
interface will be kept as an option).


Known Bugs
----------

Bleep!'s NES APU emulation is not 100% accurate.  Some games may sound close
to perfect but not quite.  Among these are: Alfred Chicken, Double Dragon,
Solstice, and Zelda 2.

NSFs that weren't ripped right (for example, NSFs that have their update rate
stored backwards in MSB first order) will obviously not work.  ;)

The VRC7 sound chip emulation is also not 100% accurate, but should improve
in future versions.


Terms of Use
------------

Bleep! is freeware and may be distributed freely as long as it is not
modified, and this documentation is included and not modified either.
"Distributed freely" means no money, goods, or services may be charged or
solicited for Bleep! or any media or software package containing it.

Anyone using Bleep! does so at their own risk.  I will not be held liable for
any loss or damage arising from its use.  No warranty is expressed or
implied.


Thanks to
---------

* _Azimer_, Goroh, kevtris, ReaperSMS, Sgt. Bowhack, and TNSe^1999, for
  sharing information.
* ProtoCat, for being a Xena fan.  He didn't have a damn thing to do with
  this plugin, though.
* The Winamp folks for their little mini-SDK.  Oh, and for Winamp.


Where to find me
----------------

email: nscorlet@eos.ncsu.edu
www:   http://www4.ncsu.edu/~nscorlet/

-----------------------------------------------------------------------------
