README
1Hi. I'm Matthew Strait <quadong@users.sf.net>. I didn't write most of
2what you see here, but I created a sourceforge.net project for it
3because the original author (Matthew Conte) didn't appear to be
4contactable and I wanted to make some improvements. As such, I don't
5understand how everything is done. Please see the README.* files for
6more info.
7
README.BeOS
1nosefart
2version 1.92
3for BeOS R5 x86
4December 24. 2001
5
6author: Eli Dayan
7website: http://www.vectorstar.net/~scanty/nosefart
8e-mail: delta@optonline.net.NOSPAM
9
10
11*NOTE*
12This release should be considered beta software at best. It has only been
13tested on my own machine, but works just fine, as far as I can tell. If you
14find any bugs or have any problems, please let me know so that I can fix them!
15
16
17What's this?
18
19nosefart is a freeware portable Nintendo Sound Format (NSF) player,
20originally written by Matthew Conte. I have built a CL-Amp plugin around
21Matt's sources so that BeOS users can enjoy listening to tunes from their
22favourite NES games.
23
24How do I use it?
25
26Move or copy src/cl-amp/in_nosefart to your CL-Amp plugins directory.
27
28Get yourself some nsf files from a place like http://www.zophar.net/nsf/
29
30Load the nsf file in CL-Amp just as you would any other type of audio.
31You should hear some nice music. Please note, a configuration file for
32nosefart will be created in /boot/home/config/settings I do *not*
33recommend you edit this file by hand.
34
35If you like to compile things, you can download the sources separately
36from my homepage, or BeBits.
37
38Enjoy.
39
README.dcp
1 README.dcp
2
3 benjamin gerard <ben@sashipa.com>
4
5 2003/05/02
6
7
8How to compile nosefart for dcplaya ?
9
10- Copy nosefart source tree into the `dcplaya/plugins/inp/nsf' directory.
11- Edit the Makefile in this directory and set NFS_DIR value.
12- Run `make' from this directory.
13
14dcplaya Makefile will compile nosefart project by using Makefile.dcp file in
15the nosefart top directory. This makefile will produce a static library in
16the nosefart top directory. The dcplaya nsf plugin will link this library.
17
18dcplaya web site: http://sashipa.ben.free.fr/dcplaya
19
20
README.dos
1I don't know how to compile nosefart for DOS. I can guess, but that's not
2really useful. If you manage it, please contact me, Matthew Strait, at
3straitm@mathcs.carleton.edu
4
README.linux
1To compile nosefart for linux, run "make" in the top of the source tree.
2
3To install, switch to root, and run "make install"
4
5To uninstall, switch to root, and run "make uninstall"
6
7If you want to be able access /dev/dsp as an ordinary user, nosefart may need
8to be suid root. To set that, run "chmod +s /usr/local/bin/nosefart" as root.
9Don't do that unless you trust your users, because nosefart isn't secure yet.
10
README.nsf2
1 NSF format spec version 2
2
3 by Benjamin Gerard <ben@sashipa.com>
4
5 2003/04/25
6
7
8Abstract:
9
10 This document describes the NSF (Nintendo Sound Format) version 2 file.
11 It explains why I have made a new version of this format. The information
12 on the NSF1 file format comes from nsfspec.txt by Kevin Horton
13 <khorton@iquest.net>.
14
15Introduction:
16
17 NSF version 1 format was a rigid format. As I want to add play time
18 information precalculated for each songs in the file, I have to modify
19 the current file format. By the way, I have tried to make a more
20 flexible format so that people can add other information in NSF files
21 (like date, ripper ...). Others improvements has been added and will be
22 explain in this documentation.
23
24Portability:
25
26 The NSF2 should be backward compatible with NSF1. This means that old
27 NSF player should be able to load NSF2 files (without extra
28 information). Obviously NSF2 file loader is able to load either NSF1 or
29 NSF2 files. NSF2 loader can skip unknown additional information, so any
30 additional information can be added to NSF2 file as soon it respect the
31 format definition.
32
33NSF1 file format:
34
35 NSF1 file format starts with a 128 bytes header which is followed by
36 song data. The length of the data must be determined by the file length.
37 This can be a problem if you want to play NSF file thru file transfer
38 protocol that does not handle stream length.
39
40 Multi byte values are stored in little endian (LSB first).
41 BYTE : 1 byte unsigned (0..255)
42 WORD : 2 bytes unsigned (0..65536)
43 LONG : 4 bytes unsigned (0..2^32-1)
44
45 NSF1 header overview:
46
47 Offset Size Type Description
48
49 0000 5 STRING "NESM",01Ah ; denotes an NES sound format file
50 0005 1 BYTE Version number (currently 01h)
51 0006 1 BYTE Total songs (1=1 song, 2=2 songs, etc)
52 0007 1 BYTE Starting song (1= 1st song, 2=2nd song, etc)
53 0008 2 WORD (lo/hi) load address of data (8000-FFFF)
54 000a 2 WORD (lo/hi) init address of data (8000-FFFF)
55 000c 2 WORD (lo/hi) play address of data (8000-FFFF)
56 000e 32 STRING The name of the song, null terminated
57 002e 32 STRING The artist, if known, null terminated
58 004e 32 STRING The Copyright holder, null terminated
59 006e 2 WORD (lo/hi) speed, in 1/1000000th sec ticks, NTSC
60 0070 8 BYTE Bankswitch Init Values (see text, and FDS section)
61 0078 2 WORD (lo/hi) speed, in 1/1000000th sec ticks, PAL
62 007a 1 BYTE PAL/NTSC bits:
63 bit 0: if clear, this is an NTSC tune
64 bit 0: if set, this is a PAL tune
65 bit 1: if set, this is a dual PAL/NTSC tune
66 bits 2-7: not used. they *must* be 0
67 007b 1 BYTE Extra Sound Chip Support
68 bit 0: if set, this song uses VRCVI
69 bit 1: if set, this song uses VRCVII
70 bit 2: if set, this song uses FDS Sound
71 bit 3: if set, this song uses MMC5 audio
72 bit 4: if set, this song uses Namco 106
73 bit 5: if set, this song uses Sunsoft FME-07
74 bits 6,7: future expansion: they *must* be 0
75 007c 4 ---- 4 extra bytes for expansion (must be 00h)
76 0080 nnn ---- The music program/data follows
77
78NSF2 file format:
79
80 NSF2 file format starts with the same header than NSF1 excepted that
81 the version number (offset 5) is set to 2 and that the 3 first bytes of
82 reserved contains the length in bytes of the data section (stored as a
83 LONG but without the MSB which is reserved for future used and must be
84 set to 0).
85
86 At the end of the data section, the file may contain extra information
87 stored within chunks.
88
89 Extra Chunk format:
90
91 Offset Size Type Description
92
93 0000 4 STRING "NESM" ; denotes an extension.
94 0004 4 STRING TYPE ; type of extension.
95 0008 4 LONG SIZE ; Extension total size (including this header)
96 000C SIZE-12 ; Extension data (depends on TYPE)
97
98 The number of extra format chunk is unlimited. The loader can skip unknown
99 TYPE because it knows its size.
100
101 Currently only one TYPE has been defined : "TIME". It handles songs
102 playing time. The data of "TIME" chunk is an array of LONG which values
103 give the song length in frames. The first LONG gives the total number of
104 frame for all songs. In most case the size of the array is number of
105 songs + 1. But the current loader is able to load less or more entry.
106 In case there is less entry than the number of song, the missing entries
107 are set to zero, which mean no time info for this song.
108
109
110
README.other
1This apparently works in FreeBSD, since it is included in the ports
2collection. Please let me (straitm@mathcs.carleton.edu) know if you make
3it work in any other OS.
4
README.winamp
1I don't know what you do to install the Winamp plugin, but I suspect that
2you run "winamp_innsf192.exe". I have no idea how to compile it. If you
3manage either, please contact me, Matthew Strait, at
4straitm@mathcs.carleton.edu
5
6Below is Matt Conte's original readme file for the Winamp plugin.
7
8**************************************************************************
9
10
11 ===========================
12 Nosefart Winamp Plugin 1.92
13 Powered by Shady Matt Conte
14 ===========================
15 = http://nofrendo.org =
16 ===========================
17
18* NOTE: This file lives in your Winamp directory, should you need to
19 peruse it in the future.
20
21
22Recent History
23==============
241.92 (07.04.00)
25 - Code released under GNU GPL. Happy Independence Day.
26 - Linux port, thanks to Neil Stevens
27 - More authentic channel mixing
28 - GPF bug fix
29 - Speed optimizations
30
311.91 (06.19.00)
32 - MMC5 sound
33 - VRC7 sound, thanks to Charles MacDonald
34 - APU fixes
35
361.90 (06.13.00)
37 - Fixed playlist display
38 - Removed trackbar, using native Winamp controls
39 - The most accurate Nosefart ever!
40 - Core optimizations/speedups/cleanups
41 - More accurate NES channel emulation
42
43
44Features
45========
46 - Cycle exact emulation of custom NES 6502 CPU
47 - Extremely accurate NES audio hardware emulation
48 - Konami VRC6 soundchip emulation
49 - Konami VRC7 soundchip emulation
50 - Nitendo MMC5 soundchip emulation
51 - Braindead easy-to-use user interface
52 - Andre Lamothe in his Blade outfit
53
54
55Tell me
56=======
57Nosefart is an NSF plug-in for Winamp. That means it is a plug-in
58for Winamp which plays NSF files.
59
60NSFs are files which contain the music code and data from NES games.
61All that you need to accurately play the music tracks back are
62accurate 6502 and NES sound register emulation.
63
64You can always get the latest version of Nosefart at:
65
66 http://www.nofrendo.org
67
68Winamp lives here:
69
70 http://www.winamp.com
71
72You can find a pornographic amount of NSFs at:
73
74 http://www.zophar.net
75
76
77Things you may need
78===================
79- Working copy of Winamp
80- Some NSFs
81
82
83Make it go
84==========
85PIMP installer installs program files in the right places.
86
87Getting an NSF file to run requires two steps:
88
891. Load up an NSF file with Winamp.
902. Press the play button.
91
92That's it.
93
94
95Thanks
96======
97Kevin Horton.Neal Tew.Darren Ranalli.Chris Moeller.Brad Taylor.
98Charles MacDonald.
99
100Later,
101shady [ zeus at nofrendo dot org ]
102
README.xmms