ReSID
Encyclopedia
reSID is a reverse engineered software emulation of the MOS6581 SID
(Sound Interface Device). This chip was used in the Commodore 64
computer. reSID is free software, published under the GNU General Public License
.
reSID is a C++ library containing a complete emulation of the SID chip. This library can be linked into programs emulating the MOS6510 MPU to play music made for the Commodore 64
computer. reSID has been linked into VICE
(a Commodore 64
emulator), SIDPLAY (a SID tune player), and GoatTracker (a tracker).
The emulator engine is cycle-based, emulating the internal operations of the SID
chip. SID's audio filter is modeled as an actual two-integrator-loop biquadratic filter. The engine has been developed based on available information on SID, sampling of the OSC3 and ENV3 registers, filter theory, and testing.
There are two main varieties of the SID chip, 6581 and 8580. They implement the same programming API, but their analogue parts behave differently. The differences are mostly: quality of DACs, combined waveforms, voltage offsets inside the chip and the filter.
Due to the engineering decisions, the filter of the 6581 family of chips was significantly nonlinear. Simulations of the effect indicate that the distortion is strongly linked to sound amplitude at the highpass and bandpass outputs of the filter, and occurs only on the other half-wave of the output waveform. The effective center frequency of the filter can be seen to drift higher in spectrum as the input waveform's amplitude increases, and the effect is believed to be side effect of the exponential response of the NMOS inverters that double as op-amps on the 6581 chip. Additionally, the distortion is stabilized by the inverted phase of the bandpass output, which allows some distortion to occur during both half-waves of the input waveform. In contrast, the 8580 chip's filter was re-engineered and appears to behave ideally.
The linear filters of reSID do not even attempt to emulate the nonlinear character of 6581 emulation, and some features such as the OptimiseLevel setting further degrades filter quality by limiting the filter upper frequency to mere 4 kHz (genuine chips can specify center frequencies up to at least 20 kHz on the 6581 and 12 kHz on 8580). However, work is underway to add 6581 distortion simulation to the ReSID engine.
As of July 2008, the current version is 0.16, which was released 11 June 2004.
MOS Technology SID
The MOS Technology 6581/8580 SID is the built-in Programmable Sound Generator chip of Commodore's CBM-II, Commodore 64, Commodore 128 and Commodore MAX Machine home computers...
(Sound Interface Device). This chip was used in the Commodore 64
Commodore 64
The Commodore 64 is an 8-bit home computer introduced by Commodore International in January 1982.Volume production started in the spring of 1982, with machines being released on to the market in August at a price of US$595...
computer. reSID is free software, published under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
.
reSID is a C++ library containing a complete emulation of the SID chip. This library can be linked into programs emulating the MOS6510 MPU to play music made for the Commodore 64
Commodore 64
The Commodore 64 is an 8-bit home computer introduced by Commodore International in January 1982.Volume production started in the spring of 1982, with machines being released on to the market in August at a price of US$595...
computer. reSID has been linked into VICE
VICE
The software program VICE, standing for VersatIle Commodore Emulator, is an emulator for Commodore's 8-bit computers, running on Amiga, Unix, MS-DOS, Win32, Mac OS X, OS/2, Acorn RISC OS, and BeOS host machines...
(a Commodore 64
Commodore 64
The Commodore 64 is an 8-bit home computer introduced by Commodore International in January 1982.Volume production started in the spring of 1982, with machines being released on to the market in August at a price of US$595...
emulator), SIDPLAY (a SID tune player), and GoatTracker (a tracker).
The emulator engine is cycle-based, emulating the internal operations of the SID
MOS Technology SID
The MOS Technology 6581/8580 SID is the built-in Programmable Sound Generator chip of Commodore's CBM-II, Commodore 64, Commodore 128 and Commodore MAX Machine home computers...
chip. SID's audio filter is modeled as an actual two-integrator-loop biquadratic filter. The engine has been developed based on available information on SID, sampling of the OSC3 and ENV3 registers, filter theory, and testing.
There are two main varieties of the SID chip, 6581 and 8580. They implement the same programming API, but their analogue parts behave differently. The differences are mostly: quality of DACs, combined waveforms, voltage offsets inside the chip and the filter.
Due to the engineering decisions, the filter of the 6581 family of chips was significantly nonlinear. Simulations of the effect indicate that the distortion is strongly linked to sound amplitude at the highpass and bandpass outputs of the filter, and occurs only on the other half-wave of the output waveform. The effective center frequency of the filter can be seen to drift higher in spectrum as the input waveform's amplitude increases, and the effect is believed to be side effect of the exponential response of the NMOS inverters that double as op-amps on the 6581 chip. Additionally, the distortion is stabilized by the inverted phase of the bandpass output, which allows some distortion to occur during both half-waves of the input waveform. In contrast, the 8580 chip's filter was re-engineered and appears to behave ideally.
The linear filters of reSID do not even attempt to emulate the nonlinear character of 6581 emulation, and some features such as the OptimiseLevel setting further degrades filter quality by limiting the filter upper frequency to mere 4 kHz (genuine chips can specify center frequencies up to at least 20 kHz on the 6581 and 12 kHz on 8580). However, work is underway to add 6581 distortion simulation to the ReSID engine.
As of July 2008, the current version is 0.16, which was released 11 June 2004.