                        ===========================
                        Nosefart v0.7 by Matt Conte
                          - http://nofrendo.org -
                        ===========================

Note: file loading from the GUI is disabled in this version, as
      it is buggy as all hell.

History
=======
0.7 (5.20.99)
 - New 256x224 VGA mode, should be more compatible
 - This program sucks, use the WinAmp plug-in: www.nofrendo.org


0.6 (5.13.99)
 - Switched from Retrocade's PROSB to SBDRV -- this should fix
   any problems that people were having with no sound being
   produced
 - Changed back to 256x224 mode, something screwy with 320x200
 - Fixed a minor bug with the VGA mode setting code
 - Added file loading from GUI
 - Added rudimentary control bar (next/prev track, restart track)
 - Fixed crash bug when BLASTER= environment variable not present
 - Fixed dirty rectangle problem, screen blits are fast again
 - Code cleanup

0.5 (5.11.99)
 - Fixed crash bug in mode 13h - dirty rectangles disabled for now

0.4 (5.11.99)
 - Changed default video resolution to 320x200, plain mode13h
   (should work on *all* monitors/VGA cards now)
 - Removed some useless options
 - Changed some key bindings (see below)
 - VU meters on each channel
 - More graphical improvements

0.3 (5.11.99)
 - Bankswitched tunes now supported (Metroid, Kirby, etc.)

0.2 (5.10.99)
 - Graphical improvements
 - Improved initialization routine, made more NSFs work
 - Sped up emulation (as if that's an issue, ha ha)
 - Fixed crash/lockup bug with some video cards (ignore gray
   bands at top and bottom of screen for now)

0.1 (5.9.99)
 - Initial release

Todo
====
 - Support timing specification
 - Better GUI


Intro
=====

This is a severely castrated version of my upcoming reborn NES emulator,
Nofrendo.

Nosefart is an NSF player for MS-DOS.  That means it plays NSF files.
If you don't know what NSF files are, but you do know what C64 SID files
are, just pretend they are the same thing, but for the NES.  If you don't
know what SID files are, then NSF files are the music code from NES games
ripped right out of the game.  All that's needed to accurately play the
music tracks back are accurate 6502 and NES sound register emulation.

If you don't know what MS-DOS is, you probably work at Microsoft.


Requirements
============
- 486 or better PC
- SoundBlaster or 100% compatible
- Mouse
- VGA card


Make it go
==========

This program represents an afternoon's worth of work, and as such, the
user interface kind of sucks monkey nads.  This will improve.

Getting an NSF file to run requires two steps:

1. Get some NSF files -- try www.zophar.net for links.
2. Load up an NSF file with Nosefart like this:

   C:\> nosefart <filename>

   You can omit the `.nsf' if you'd like.


I like to watch
===============

UI looks like this:

- title menu at top of screen (normal GUI stuff)
- NSF file data (song name, author, num of tracks, etc.) next
- sound registers next, channels 1 - 5 in order left to right
- output waveform display next
- any error / status messages at extreme bottom of screen

While Nosefart is chewing away on an NSF file, you can hit -/+ to change
the track number.  Again, the UI blows, I'll get something decent working
soon.

List of Keys:
-------------
F1      reset 6502 (restart song)
F2      toggle speed throttling (i.e. run at max speed)

+/-     increase/decrease track number
[/]     increase/decrease volume

1       dis/enable square channel 1
2       dis/enable square channel 2
3       dis/enable triangle channel
4       dis/enable noise channel
5       dis/enable PCM channel

ESC     quit


Get out
=======

To get back to a DOS shell prompt, either hit ESC, or choose File->Quit
from the title bar.


Bye
===

Thanks to Kevin Horton (khorton@iquest.net) for creating the NSF format,
and to everyone else still hacking around with the 15 year old piece of
shit.

Thanks to the people who helped me work the bugs out of this thing:
Brad Levicoff, Jeremy Chadwick, and Matthew Lindblom.


Later,
Matt [ zeus at nofrendo dot org ]
