This is a beta version. There may still be some bugs.
Contents:
・ Menu commands
・ Key commands
・ The Preferences dialog
・ The music list
・ The Controls window
・ The Mixer window
・ The Oscilloscope
・ The filter adjustment window
・ The SID register view
・ The export functions
・ Description of used files and formats
・ Where to get more musics
Menu commands
Apple menu:
・ About SIDPLAY : provides information about the authors
File menu:
・ Open... : opens a sidtune (lets you open files of type 'PSID' and 'TEXT' )
・ Close : closes a sidtune and stops music playback
・ Export as : converts a sidtune to different formats or exports it as AIFF sound file
・ Preferences... : lets you define several emulation parameters
・ Quit : guess what !
Edit menu:
・ Reset fader settings : resets the faders of the mixer to full volume and centers the panorama sliders
・ Disable filters : this disables the emulation of the SIDs filters. The current implementation of filters may be unsatisfying to experienced listeners. This option can not be found in the Preferences dialog, because one might want switch it on and off frequently (by pressing COMMAND-F). The setting gets stored in the Preferences file, though.
・ Disable LED bars : this disables the LED bars in the mixer window. They might be annoying to some people, and they also use a bit of CPU power.
List menu:
・ Edit music list item... : lets you edit the title and file-path of a music in the list
・ Sort music list : sorts the music list in alphabetical order
・ Play random music : this option selects a random music from your list and plays it.
Windows menu:
・ Music list : enables/disables the music list window
・ Mixer : enables/disables the mixer window
・ SID register view: enables/disables the SID register view window
・ Oscilloscope : enables/disables the oscilloscope view
Key commands
・ Up : Scroll up in the music list
・ Down : Scroll down in the music list
・ Enter : Load and Play the selected music
・ Space : Play/Pause
・ Home : Go to beginning of music list
・ End : Go to end of music list
・ Page Up : Scroll one page up in the music list
・ Page Down : Scroll one page down in the music list
・ Left : Skip to previous track in music
・ Right : Skip to next track in music
・ Number keys : Select track 1-10 in music
・ CTRL : Activate fps display in oscilloscope
The Preferences dialog
The Preferences dialog contains the following items:
・ Frequency: choose the mixing frequency from the menu, or choose 'arbitrary' and enter the frequency in the text edit field. The frequency has to be in the range 11025Hz - 48000Hz !
・ Resolution : choose 8 bit or 16 bit mixing.
・ Channels : choose Mono or Stereo playback. Stereo plays voices 1 & 3 on the left and voice 2 & 4 on the right speaker if the mixer is disabled.
・ Buffersize: define the size of the doublebuffer. Bigger buffers can improve performance, but you may not get continuous music playback on slower machines. Never use a large buffersize with low quality (8 bit, Mono) unless you have a fast machine. With a low quality setting SIDPLAY has to calculate far more samples to fill a buffer.
2048 bytes with 44100Hz, 16 Bit and Stereo should work fine on a 6100/60 if mixer is enabled (3072 bytes if mixer is disabled).
・ Improved PlaySID compatibility: This has to be checked to make some special musics work. (e.g. Savage, tune 3/4)
・ Force NTSC (60Hz) Playback: This forces the tune to play in 60Hz mode, even when the speed option in the description file or PSID header is set to 50Hz. This results in a slightly faster music playback. This may be the right speed if you're used to the american versions of these songs.
・ Tempo slider snaps back: If this is enabled the tempo slider will automatically snap back to normal speed once the mouse button is released. This makes cueing through musics more convenient.
・ Enhanced skip track buttons: If this is enabled, the skip track buttons switch to the next/previous music in the list, if there are no more songs in the file.
All settings are stored in 'SIDPLAY Preferences' inside your Preferences folder.
It may help to delete it if you have problems with SIDPLAY.
The music list
The music list can be used to quickly access all the musics on your harddisk.
There are several ways to add musics to the list:
・ Press the 'ADD' button on the bottom of the list and choose the music from the file dialog
・ Drag 'n Drop two or more files onto the SIDPLAY icon
・ Drag 'n Drop one file onto the SIDPLAY icon with OPTION pressed down to add a single tune.
・ Drag 'n Drop files from the Finder into the list window (this is new).
Once the tunes are added to the list, you can either select one with the mouse and press the 'LOAD' button to open it, or double-click on it. The latter automatically starts the music playback.
Alternatively you can use the cursor keys to navigate in the list, and press ENTER to load and start a music.
The contents of the list get stored in a file called 'SIDPLAY Music List' inside your Preferences folder.
The position and size of the list gets saved in the Preferences file.
At the bottom of the list window you can see the name of the currently loaded music (or 'none').
If you want to, you can hide the music list (and make it visible again) from the Windows menu (COMMAND-L).
The Controls window
The functions of the Controls window are pretty straightforward. Just use the buttons like you would on your CD player.
On the bottom there is a space where information about the music is displayed (as stored in the description file or PSID header).
There are two sliders which control master volume and tempo respectively. The position of the master volume slider gets stored in the Preferences file.
The tempo slider can speed the music up or slow it down. The slider can stay on the selected position or snap back to normal speed (as selected in the Preferences dialog).
If you click in the zoom box of the window title bar, you can switch the size of the window between three different states.
Clicking on the fast-forward button with Option pressed down, switches to quadruple speed.
The Mixer window
The Mixer window works similar to an ordinary mixing table. There are faders for each of the four SID voices which control the volume of each voice. Then there are panorama sliders which control the stereo panorama (balance) of each voice. Furthermore there are separate Mute and Solo buttons for each voice.
Plus there's a button, which, if checked, saves the fader and pan-slider positions to your Preferences file on exit.
NOTE: The mixer uses a considerable amount of processing time. If you experience slow screen refresh, and jerky mouse movements, try disabling the mixer.
If you're running SIDPLAY in background, also be sure to disable the mixer ! This should help, unless you have a blazingly fast machine.
The mixer is very cool, but it has a few drawbacks:
・ It slows everything down
・ It reduces the sound quality, especially in 8 Bit mode
・ It reduces the volume of the music
If the mixer is disabled, it is still possible to move the faders.
Be sure to keep the volume down if you disable the mixer, because the normal mode is a lot louder, you may be surprised.
The three little LEDs show if a voice is currently being filtered.
If you want to you can hide the mixer window from the Windows menu or by pressing COMMAND-M.
The Oscilloscope
To visualize the SID output, SIDPLAY includes a cute little oscilloscope window, which can be enabled/disabled with the COMMAND-I key sequence (or from the Windows menu). It shows the waveform produced by the SID emulation.
This may look strange to you, if you don't know about the inner workings of the SID. The waveform looks completely artificial and technical, and one might doubt, that this actually is music (especially if you have seen waveforms from 'real' music on an oscilloscope). But despite the sharp lines of the SID waveforms, SID music actually doesn't sound as bad as it looks. :)
The current framerate of the oscilloscope is shown if the CTRL key is pressed down.
Note: If you increase your samplebuffer size, the framerate of the oscilloscope will drop !
If you like the oscilloscope, you can send your thanks to robert@spprod.se because he urged me to implement it... :)
The filter adjustment window
Since version 1.16b2 SIDPLAY contains a real filter emulation (the previous one was only faked), which greatly enhances sound quality on a lot of tunes, and makes it possible to correctly emulate wind and seashore sounds.
The SID has been produced in several different revisions, and there's even a completely new SID (the 8580, used in the newer C64s). All of those chips have slightly different filter characteristics, which affect some parts of the music. So it's possible that the filter in SIDPLAY sounds completely different than the filter of the SID in your original C64.
Therefore, SIDPLAY now contains a dialog with which it is possible to adjust the parameters of the filter emulation.
Three values control the strength of the filter at a given cutoff frequency. This relation is shown in the little graph on the right side of the window. The three sliders on the left side control the three parameters.
The get back to the default settings (all sliders in the middle position) simply click on 'Default' .
Furthermore there's an option to disable/enable the filter (same as using the menu command).
The SID register view
This item is mostly interesting to people who compose SID music or are familiar with the SID's registers. This little window shows the state of the registers, including the parameters of the three voices, the filter cutoff-frequency, and other settings.
If you don't have a clue what it means, just turn it off with COMMAND-Y (or from the Windows menu) and don't bother. It's here to stay.
The export functions
・ Export AIFF:
This let's you save the music of a sidtune to a big sample file. You can then use this file to create a MOD version of a sidtune, or otherwise manipulate it (i once did a complete remix of a sidtune using DeckII...)
Be sure to have a tune loaded when selecting this function, otherwise it won't do anything.
In the export dialog select the quality for the sample you want to create. The default settings are taken from your current preferences. To sample will have the same volume levels as chosen in the mixer.
Enter a time to record to the sample, and optionally choose 'Fade out', to get a fade effect at the end of the sample.
The default time in the edit field is the current timer value, so you can quickly fast-forward until the point where you wish your sample to end, press PAUSE and then choose the export function.
Another option is to select 'Record from current position' which records the given time from the current time onward. Ofcourse you should pause the tune at the moment you want to have the recording start from, otherwise you won't hit the right spot.
Once your settings are correct (take a look at the filesize, your sample might get pretty large !) just press SAVE and choose a place to save the file to.
・ Export PSID:
If you have a file loaded, just select this option and select a folder (the default filename is taken from the sidtune's description header) to export any sidtune format to the recommended PSID single-file-format.
・ Export DAT/SID:
Work's exactly like the PSID export. Choose a folder on your harddisk and you'll get two files. The data file (with the name you entered in the save dialog) and the description file (with the same name, but '.sid' added at its end).
Description of used files and formats
SIDPLAY/MacOS is able to use all the sidtune formats you can find in the different music packages on the Internet. Here's a description of those formats. In general, a sidtune is just a chunk of raw data, which was transferred from the C64 plus some description of how to use this data in order to produce music.
Each data file can contain multiple songs !
Please note that these are not music data formats of specific music editor programs on the C64. Every music from the C64 can be used with SIDPLAY regardless of which editor or which method was used to create it. Most of the older game tunes were even created without (!) the use of a composer program !
For the technically impaired:
The data files contain binary code and data. Both, the programmer on the C64 and this emulator need information on how to access the subroutines inside the binary, that means the memory location to load the file at, the number of tunes, the starting address of the executable code and its subroutines. That specific information has to be delivered in a separate file, except if the data file contains an information header.
PSID files:
This is the preferred format for SIDPLAY, because it has several advantages. First it's a single-file format, which means that only one file represents the music data and the file description, therefore making it easy to handle. You can't accidently lose the second file which is required with the other formats. Plus you don't have to care about file extensions.
PSID files were introduced with PlaySID 2.2 on the Amiga. Most of the tune packages on the Internet contain musics in this file format.
Normally PSID files should work 'out of the box'. Nothing to worry about.
DATA/INFO (DAT/INF) files:
These were used by the original version of PlaySID on the Amiga. They are inconvenient because each music consists of two files: The raw data file from the C64 and an Amiga Workbench icon including ASCII text strings as description.
If you lose one file, you're stuck.
Take care of the naming conventions: The raw data file doesn't need a special extension, but the description file does. An example:
If the data file is called: Commando or Commando.dat or Commando.data (the extension is not necessary)
then the description file has to be named: Commando.inf or Commando.info
otherwise SIDPLAY won't be able to find the description file.
If you accidentally open a description file with SIDPLAY, it will automatically find the right data file.
DAT/SID files:
This file format was introduced with SIDPLAY/DOS in 1994. It's basically just like the DAT/INF format, but the description file (.SID) is just a plain ASCII file, therefore it's easy to create and edit.
Once again, naming is important:
If the data file is called: Commando or Commando.dat or Commando.data (the extension is not necessary)
then the description file has to be named: Commando.sid
otherwise SIDPLAY won't be able to find the description file.
Here's how a .SID ASCII file has to look like:
SIDPLAY INFOFILE
ADDRESS=<loadaddress>,<initaddress>,<playaddress>
SONGS=<total>[,<start>]
SPEED=<value>
NAME=<name of music/tune>
AUTHOR=<name of author/composer>
COPYRIGHT=<year/name of copyright owner/company>
SIDSONG=<YES|NO>
The first line of the text containing 'SIDPLAY INFOFILE' is only to identify the type of file (the .SID extension may not be enough !).
ADDRESS=<loadaddress>,<initaddress>,<playaddress>
<loadaddress> is the address to load the .DAT file at (0 means the file is in original C64 format, i.e. the first two byte contain the loadaddress (lo/hi).
<initaddress> is the start address of a subroutine that initializes a sound using the 6510 accumulator as song number (0-255).
<playaddress> is the start address of a subroutine that can be called frequently by interrupt to produce a continuous sound.
Each address is a 16-bit hexadecimal effective C64 memory address.
SONGS=<total>,[<start>]
<total> is the decimal number of tunes/sounds that can be initialized using the init-subroutine (minimum = 1).
<start> default=1, is the decimal number of the tune to be played automatically after selecting a .DAT file (lowest = 1).
SPEED=<value>
<value> is a hexadecimal number that contains information about the speed of each tune/sound. For each tune/sound a bit is reserved, bit 0 for tune 1, bit 1 for tune 2 and so on. A 0 bit means the play-subroutine is called 50Hz and a 1 bit means the speed which is indicated by the CIA Timer A ($DC04/05) (default 60Hz)
Examples: SPEED=0 replays every tune at 50Hz SPEED=$1F replays tunes 1-5 (accumulator 0-4) at 60Hz and tunes 6-8 (a 5-7) at 50Hz
NAME=<name of music/tune> ; ASCII
AUTHOR=<name of author/composer> ; ASCII
COPYRIGHT=<year/name of copyright owner/company> ; ASCII
SIDSONG=<YES|NO>
Is used to let SIDPLAY know that the belonging .DAT file is a (Enhanced) Sidplayer file from C64. This is useful when wanting to add extra song information into the .SID file.
The format of a file 'EXAMPLE.SID' may look like this:
SIDPLAY INFOFILE
ADDRESS=2AF0,3002,300C
SONGS=3,2
SPEED=0
NAME=Example
AUTHOR=Example
COPYRIGHT=1993 Example
SIDSONG=NO
MUS files:
This is another single-file-format, containing music data, e.g. made with Compute!'s (Enhanced) Sidplayer on C64.
Where to get more musics
Sidtunes can be found in various locations:
・ There are a lot of links on my own SID Homepage that lead to places containing SID musics:
Austria http://stud1.tuwien.ac.at/~e9426444/index.html
・ A new and complete collection, called High Voltage SID Collection is available from:
United States http://www.public.asu.edu/~greiman/inc/hv_sids.html
This is now the new reference collection for SIDPLAY, i.e. it contains fully working and correctly credited tunes !
If you only plan to get one sidtune collection, get this one !!!!
・ Other tune collections for PlaySID/Amiga are available on Amiga-Net FTP servers in the /mods/chip directory. These will ofcourse work fine with SIDPLAY/MacOS.
・ The following site is the 'European C64 Emulation Archive'. It is supposed to keep copies of SIDPLAY, PlaySID and belonging sidtune packages:
Norway ftp://frodo.hiof.no/pub/c64/sidmusic
・ Look out on AmiNet and/or PC sites for the 'RippOff' and 'NemeSIDs' series□ of sidtune collections. Also check out 'C64 Musicshow 1 & 2' and 'Addition'. NemeSIDs was the old reference collection, but has been replaced by the newer High Voltage SID collection !
・ If you're searching for a particular tune, and don't want to download the whole packages, you can try the following ftp-site. It holds a lot of sidtunes in PSID format, which are all unpacked, and sorted in directories for each composer.
United States ftp://ftp.dhp.com/pub/c64/sid_music/
・ You can also find the NemeSIDs archives already uncompressed at frodo:
Hint: if you transfer SID files from the PC via floppy disks, be sure to set a correspondence for .DAT extensions in your PC Exchange control panel. Choose SIDPLAY and the filetype 'PSID' in the popup menu or PC Exchange's dialog. This makes it possible to start SIDPLAY by double-clicking on any .DAT file. Also be sure to set the correct extension mapping in tools like ZipIt.
I have been told, that decompressing Amiga .LHA files (NemeSIDs,...) with MacLHA works, but does not decompress the directory hierarchy, resulting in a mess. Right now, the only option is to use LHA on an Amiga or PEX on the PC, which automatically converts the long Amiga filenames to DOS 8+3 filenames.
Andreas Varga
e-mail: e9426444@stud1.tuwien.ac.at
http://stud1.tuwien.ac.at/~e9426444/sidplay/
The SID Homepage: http://stud1.tuwien.ac.at/~e9426444/index.html