=encoding utf8


=head1 NAME

sidplayfp - a C64 and SID chip emulator for playing Commodore 64 music.


=head1 SYNOPSIS

B<sidplayfp> [I<OPTIONS>] I<datafile>


=head1 DESCRIPTION

B<Sidplayfp> is a music player that emulates various components from a
Commodore 64 (C64) computer.  The result is a program which can load
and execute C64 machine code programs which produce music and sound.
Sidplayfp has been designed for accuracy which results in a quite high
cpu usage.  Additional playback modes have however been provided to
allow playback on low specification machines at the cost of accuracy.


=head1 OPTIONS

=over

=item B<-h, --help>

Display help.

=item B<-f>I<< <num> >>

Set frequency in Hz (default: 48000).

=item B<-nf>

No filter emulation.  This will reduce CPU overhead at the cost
of reduced sound quality.

=item B<-o>I<< <num> >>

Select track number (default: preset).

=item B<-s>

Stereo playback.  If the tune is identified as stereo then sid 1
and 2 become the left and right channels respectively.

=item B<-v>I<[num]>

Verbose output while playing.

=item B<-b>I<< <num> >>

Set start time in [mins:]secs format (compatible with sid2wav).

=item B<-ds>I<< <addr> >>

Force dual sid environment by adding a second chip at specified
address.   This forces emulation of 2 sid-chips for stereo
playback even if datafile is  identified as only being mono.
This occurs in the case of the stereo prg format as currently
there is no way to identify them.  Stereo MUS and SID files are
however automatically detected.  The second sid may be installed
in the 0xD420-0xD7FF or 0xDE00-0xDFFF address range.  Address
may  be specified in exadecimal (e.g -ds0xd420) or decimal (e.g.
-ds54304) format.

=item B<-ts>I<< <addr> >>

Add a third chip at specified address.  The sid may be installed
in the 0xD420-0xD7FF or 0xDE00-0xDFFF address range.  Address
may  be specified in exadecimal (e.g -ts0xd440) or decimal (e.g.
-ts54336) format.

=item B<-u>I<< <num> >>

Mute a channel.  May be used more than one time.  Channel 1 to 3
are for the first SID chip while channels from 4 to 6 are for
the second one on stereo tunes.

=item B<-p>I<< <num> >>

Set bit precision for wav saving. The default is 32 (32 bit
float), but can be set to 16 to create 16 bit little endian
wavs. Other values cause invalid output.

=item B<-o>I<< <l|s> >>

Option 'l' will select continuous track looping while 's' will
select the current track instead of all.  This option can be
combined with the track selection to form -ols<num>.

=item B<-q>

Quiet output while playing (opposite of verbose).

=item B<-s>I<< <l|r> >>

Playback the left or right stereo channel only.

=item B<-t>I<< <num> >>

Set play length in [mins:]secs format (0 is endless).

=item B<-v>I<< <n|p>[f] >>

Set VIC clock speed.  'n' is NTSC (America, 60Hz) and 'p' is PAL
(Europe, 50Hz).  Providing an 'f' will prevent speed fixing that
tries to compensate automatically for the speed difference.
Removing speed fixing simulates what happens on a real C64.
Options can be written as: -vnf or -vn -vf.

=item B<-m>I<< <o|n>[f] >>

Set SID chip model.  'o' is the old 6581 and 'n' is the new 8580.
Providing an 'f' will force the selected model overriding
the one specified from the tune.

=item B<-r>I<< <i|r>[f] >>

Set resampling mode.  'i' is interpolation (less expensive) and
'r' resampling (accurate).  Providing an 'f' will provide faster
resampling sacrificing quality.  Fast resampling is available
only for reSID emulation.  Options can be written as: -rif or
-ri -rf.

=item B<-w, --wav>I<< [name] >>

Create   WAV-file.  The default output filename is
<datafile>[n].wav where [n] is the tune number should there be
more than one in the sid.  This allows batch conversion of sid
tunes  without them overwriting each other.  By providing a name
you override this default behavior.  The output file will be
<name> with no tune number is added and <name> IS NOT checked
for or appended with a legal wav file extension.

=item B<--resid>

Use Dag Lem's reSID emulation engine.

=item B<--residfp>

Use Antti Lankila's reSIDfp emulation engine.

=item B<--hardsid>

Use HardSID device.

=item B<--exsid>

Use exSID device.

=back

=head1 Key bindings

=over

=item 1-9

Mute/unmute voice.

=item f

Toggle filter.

=item p

Pause/unpause playback.

=item Esc

Quit player.

=item Up/Down Arrows

Increase/reset playback speed.

=item Left/Right Arrows

Move to previous/next subtune.

=item Home/End Arrows

Go to first/last subtune.

=back


=head1 ENVIRONMENT VARIABLES

=over

=item B<HVSC_BASE>

The path to the HVSC base directory. If specified the songlength DB will be loaded from here
and relative SID tune paths are accepted.

=back


=head1 FILES

=over

=item F<sidplayfp.ini>

The per-user configuration file. See L<sidplayfp.ini(5)> for further details.

=item F<kernal>

The c64 kernal rom dump file.

=item F<basic>

The c64 basic rom dump file.

=item F<chargen>

The c64 character generator rom dump file.

=back


=head1 BUGS

The upstream bug tracker can be found at L<http://sourceforge.net/p/sidplay-residfp/bugs/>.


=head1 SEE ALSO

L<sidplayfp.ini(5)>


=head1 NOTES

ROM dumps are no longer embedded but must be supplied by the user.
Check the L<sidplayfp.ini(5)> documentation for configuration details
and default search paths.


=head1 AUTHORS

=over

=item Leandro Nini

Current maintainer.

=item Simon White

Wrote the original Sidplay2.

=item Dag Lem

Wrote the reSID emulation engine.

=item Antti S. Lankila

Wrote the reSIDfp emulation engine as a fork of reSID 0.16.

=item The Vice team

Large part of the emulation is based on the VICE's code.

=item André Fachat

Wrote the original reloc65 utility.

=item Michael Schwendt

Wrote the original SidTune library and MD5 class (based on work by L. Peter Deutsch).

=item Mikko Kilponen

Wrote the original man page.

=back


=head1 RESOURCES

=over

=item SourceForge project: L<http://sourceforge.net/projects/sidplay-residfp/>

=item Sidplay2 homepage: L<http://sidplay2.sourceforge.net/>

=item High Voltage Sid Collection (HVSC): L<http://hvsc.c64.org/>

=back


=head1 COPYING

=over

=item Copyright (C) 2000-2004 Simon White

=item Copyright (C) 2007-2010 Antti Lankila

=item Copyright (C) 2009-2015 VICE Project

=item Copyright (C) 2010-2016 Leandro Nini

=back

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
