table of contents
SIDPLAYFP(1) | User Programs | SIDPLAYFP(1) |
NAME¶
sidplayfp - a C64 and SID chip emulator for playing Commodore 64 music.
SYNOPSIS¶
sidplayfp [OPTIONS] datafile
DESCRIPTION¶
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.
OPTIONS¶
- -h, --help
- Display help.
- -h, --help-debug
- Display additional options helpful for debugging.
- -f<num>
- Set audio output frequency in Hz (default: 48000).
- -nf
- No filter emulation. This will reduce CPU overhead at the cost of reduced emulation quality.
- -s
- Stereo playback. If the tune is identified as stereo then sid 1 and 2 become the left and right channels respectively. For three sid tunes the chips are mixed as left, center and right.
- -m
- Mono playback.
- -v|q[level]
- Verbose or quiet (no time display) console output while playing. Can include an optional level, defaults to 1.
- -b<num>
- Set start time in [mins:]secs[.milli] format (compatible with sid2wav).
- -ds<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.
- -ts<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.
- -u<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 and 7 to 9 for the third.
- -g<num>
- Mute samples. May be used more than one time, 1 for the first SID, 2 for the second one and 3 for the third.
- -p<num>
- Set bit precision for file saving. The default is 16 to create 16 bit signed samples, but can be set to 32 (32 bit float). Other values will cause invalid output.
- -o<num>
- Select start track number (default: preset).
- -o<l|s> [num]
- Option 'l' will select continuous track looping while 's' will play only the current track ignoring the others. The options can be combined and may include the track selection. The following variations are possible: -ol<num>: will loop selected track allowing moving to another one; -os<num>: will play selected track and then stop; -ols<num>: will loop selected track;
- -t<num>
- Set play length in [mins:]secs[.milli] format (0 is endless).
- -v<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.
- -m<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 by the tune.
- --digiboost
- Enable digiboost hack for 8580 model so the digi samples become audible.
- -r<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.
- -w, --wav[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 it is possible to override this default behavior. The output file will be <name> with no tune number added and the extension .wav appended if no extension is given.
- --au[name]
- Create AU-file. The default output filename is <datafile>[n].au. Same notes as the wav file applies.
- --resid
- Use VICE's original reSID emulation engine.
- --residfp
- Use reSIDfp emulation engine.
- --hardsid
- Use HardSID device.
- --exsid
- Use exSID device.
- --cpu-debug
- Display cpu register and assembly dumps, available only for debug builds.
- --delay=[num]
- Simulate c64 power on delay as number of cpu cycles. If greater than 8191 the delay will be random. This is the default.
- --fcurve=<num>|auto
- Controls the filter curve in the ReSIDfp emulation. Ranges from 0.0 (light) to 1.0 (dark), the default value is 0.5. If set to auto it will choose a predefined value for 6581 depending on the tune author.
- --frange=<num>|auto
- If available controls the filter range for the 6581 in the ReSIDfp emulation. Ranges from 0.0 (light) to 1.0 (dark), the default value is 0.5. If set to auto it will choose a predefined value for 6581 depending on the tune author.
- -cw<w|a|s>
- Set the strength (width) of combined waveforms. 'w' for weak (thin) waves, 'a' for average waves, and 's' for strong (wide) waves.
- --noaudio
- Run without an audio output device.
- --nosid
- Run without sid emulation.
- --none
- Run with no audio output device and no sid emulation.
Key bindings¶
- 1-9
- Mute/unmute voice.
- q,w,e
- Mute/unmute samples.
- f
- Toggle filter.
- p
- Pause/unpause playback.
- Esc
- Quit player.
- Up/Down Arrows
- Increase/reset playback speed.
- Left/Right Arrows
- Move to previous/next subtune.
- Home/End Arrows
- Go to first/last subtune.
ENVIRONMENT VARIABLES¶
- 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.
FILES¶
- sidplayfp.ini
- The configuration file. See sidplayfp.ini(5) for further details.
- kernal
- The c64 kernal rom dump file.
- basic
- The c64 basic rom dump file.
- chargen
- The c64 character generator rom dump file.
BUGS¶
The upstream bug tracker can be found at <https://github.com/libsidplayfp/sidplayfp/issues/>.
SEE ALSO¶
NOTES¶
ROM dumps are not embedded due to copyright issues and must be supplied by the user. Check the sidplayfp.ini(5) documentation for configuration details and default search paths.
AUTHORS¶
- Leandro Nini
- Current maintainer.
- Simon White
- Wrote the original Sidplay2.
- Dag Lem
- Wrote the reSID emulation engine.
- Antti S. Lankila
- Wrote the reSIDfp emulation engine as a fork of reSID 0.16.
- The Vice team
- Large part of the emulation is based on the VICE's code.
- Andre Fachat
- Wrote the original reloc65 utility.
- Michael Schwendt
- Wrote the original SidTune library and MD5 class (based on work by L. Peter Deutsch).
- Mikko Kilponen
- Wrote the original man page.
RESOURCES¶
COPYING¶
- Copyright (C) 2000-2004 Simon White
- Copyright (C) 2007-2010 Antti Lankila
- Copyright (C) 2009-2015 VICE Project
- Copyright (C) 2010-2024 Leandro Nini
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.
2024-12-01 | perl v5.34.0 |