Music made for the MOS Technology 6581/8580 SID chip, featured in the Commodore 64.
Submission should be able to play back on real hardware (or in an emulator)!
THIS PAGE IS UNDER CONSTRUCTION
- // Restrictions on submit
- File Formats & Playback
- External reading
- See also
// marks to be deleted, # marks to be changed
The MOS Technology 6581/8580, better known as the SID (Sound Interface Device), is the programmable sound synthesizer chip found in Commodore's CBM-II, Commodore 64, Commodore 128 and Commodore MAX Machine, although it is best known for its use in the Commodore 64.
This article covers a small technical specification of sound chip, available tools to compose for the format, ways to reliably play back files as well as mentioning some related tools and other useful links.
Sound is delivered through three independent audio oscillators (channels) programmed through CPU, in which each channel can play either of the following waveforms;
‒ Pulse (with pulse width control)
‒ Any combination between Sawtooth, Triangle and Pulse
‒ Pseudo-random Noise
The SID has no direct volume control per oscillator; each oscillator has to be controlled with ADSR (Attack, Decay, Sustain, Release) generator parameters. Each of the parameters have a resolution of 4 bits; meaning a range of 0-F (in hex).
The chip also has a global linear volume control, again with a resolution of 4 bits.
The part of the SID that gives it its characteristic tone is its programmable multimode filter, which can be set to low-pass, high-pass and band-pass outputs (or any combination thereof) with a rolloff of either 6 dB/oct (bandpass) or 12 dB/octave (lowpass/highpass). Filter cut-off frequency and resonance can be controlled as well. The different filter modes are sometimes combined to produce additional timbres, for instance a notch-reject filter.
Each voice may be ring-modulated with one of the other voices, i.e. the frequency spectrum is convolved and output. Thus, the ring modulation, filter, and programming techniques for switching between different waveforms at high speed make up the characteristic sound of the SID.
[ oscillator sync for each oscillator, 8 bit A/D which can be manipulated to play samples ]
There are two different major models of the SID chip -- the SID 6581, used on the CBM-II and the original Commodore 64, and the SID 8580, used on the revised C64-ii and Commodore 128. Between these, there are 5 versions of the SID 6581 (R1 - R4, R4AR) and 1 version of the SID 8580. The differences seem to be quite varied between all 6 of the SID variants, as documented by SID Shootout (linked below). A few variable elements between all of the revisions include the volume of noise and intensity of filters.
XPMCK is a cross-platform MML compiler kit targeted towards various video game systems, including the C64 SID. You can download the latest build of XPMCK on its website
(at the download section).
A soundtracker that runs natively on the Commodore 64. It supports a wide range of engine features, can turn off engine features to reduce memory footprint on export, can export to .SID, to name a few.
SID-Wizard is an open-source project and everyone is welcomed to help in further developments of the extensively commented source-code.
💾 SID-Wizard can be downloaded here
Another soundtracker that runs natively on the computer. This is a fairly new tool with extensive documentation. Should be accessible to most people trying SID composing (and exporting).
Text here --> Not most recommended and not builtin export, must use external source (?) --> perphaps delete this entry
DISCLAIMER: These trackers will only run natively on the system and thus require you to either use the real hardware or alternatively use emulators (which is the easiest way to transfer export files to modern OSes). The VICE C64 emulator is recommended for this use.
Trackers (Modern OS)
• GoatTracker II
GoatTracker II is perhaps the most popular SID tracker available on modern platforms (MS-Windows/MacOS-X, GNU/Linux versions can be compiled from sourcecode).
It has support for both the 6581 and the 8580 through ReSID emulation (and are customizable in the config.ini), can export to .SID as well as to assembly sources(?). Features highly optimized playback routines for small export filesizes.
Though one of the best SID trackers overall, the interface (looking like a DOS program) and programming in data with the tracker may prove it to have a steep learning curve for most users. Watching / reading online tutorials / guides beforehand is strongly recommended. #Future re-written manual
💾 GoatTracker II may be downloaded here (+ related tools)
for MS-Windows, MacOS-X and GNU/Linux.
Cheesecutter is a SID tracker extremely similar to GoatTracker II; both in interface and features.
#More on CC later.
>> MS-Windows, MacOS-X, GNU/Linux
• Deflemask Tracker
Deflemask is a mutli-system tracker with support for C64 SID.
Keep in mind that the .SID output is relatively very large due to the way DefleMask handles rastertime. If your song is too complex/long or has overuse of fast pattern tickrates/tempo, the export will sometimes be too large and a 0 kB .SID file is created (corrupted).
An updated .SID compiler, that has not been implemented yet is available as download here
and may help people compiling otherwise too big DefleMask SID modules, though it is no guarantee to always work: the modules are often still too big. In order to work with the compiler, you must export a .VGM of your SID DefleMask module and drag 'n drop it on the batch file to compile a .SID file out of it.
• SID Factory II
SID Factory II is a cross-platform editor for composing music that will work on a Commodore 64. It uses the reSID emulator and is currently in open BETA.
💾 Donload: SID Factory II
# ...and many more native tools
A comparison of many native and modern OS trackers at chordian.net
// Restrictions on submit
# Entry should be created by a tool using the SID (soundchip)
File Formats & Playback
The .SID file type is the common format used for SID playback, and is what the vast majority of songs made with it use for distribution. As such, the vast majority of SID players support this file type.
The .PRG file type is the file format used by the C64 for programs.
List of SID players
, Stone Oakley's Authentic SID Collection.
SID Shootout, an analysis and comparison of the 6581 R2 - R4AR and 8580 R5 written by StrayBoom:
- Part 1
- Part 2
- Part 3
- Complete list of ripped chiptunes repositories