reSID was written by Dag Lem. The project was started after reading an interview with Bob Yannes, the head engineer of the SID chip. This interview was made by Andreas Varga, with additional questions from Linus Walleij. The interview can be found on the SID Homepage: http://stud1.tuwien.ac.at/~e9426444/sidpage.html The reverse engineering of the SID chip would not have been possible without this interview. Also found on the SID Homepage is an examination of the SID noise waveform written by Asger Alstrup. This article was of great help in reverse engineering the complete algorithm for the noise waveform. Lars Haugseth has been invaluable in the testing of reSID. In a matter of hours after hearing about my project, he had completed a 6510 disassembler in Perl. The importance of this was not evident to me until the next day when he had disassembled the music routine for "Outrun Remix" by Geir Tjelta, made some changes to it, reassembled, and produced a file containing 48K of SID register values. The first tests of reSID were run on this file. With an exceptional memory of Commodore 64 tunes Lars Haugseth has pointed out several errors in reSID that are now corrected. Morten Rollan and Kåre Gunnar Nesheim have provided interesting and insightful information regarding digital filters. Kåre Gunnar Nesheim has also kindly provided a 1901 monitor and a C64C from his private computer museum. His C64C was used to measure the MOS8580 filter cutoff characteristics. VICE has been an inspiration for this project, and testing of reSID has been greatly simplified by VICEs -sounddev dump option. Teemu Rantanen has written support for reSID in VICE, making it possible to choose at runtime between his excellent SID emulation and, given enough CPU power, the reSID emulator engine. Tibor Biczo, Andreas Boose, and André Fachat have provided combined waveform samples for 6581 R1, R3, R4, and 8580 R5 SID chips. The VICE home page is found at: http://www.viceteam.org/ The author of SIDPLAY, Michael Schwendt, has implemented a patch to link libsidplay with reSID. Using his excellent tune player he has pointed out several bugs in reSID. He has also provided invaluable information related to the bugs as basis for further investigation. Most notably, the infamous ADSR delay bug, of which I was previously unaware, has finally been understood and is now correctly implemented in reSID. The SIDPLAY home page is found at: http://www.geocities.com/SiliconValley/Lakes/5147/ A bug report from Daniel Lacasse led to the discovery of a previously unknown SID bug, the ADSR boundary bug. Anders Ødegård has explained aspects of analog electronics and audio equipment. Bob Yannes has patiently answered questions and has provided lots of technical information on the SID filter. Thank you Bob! Julius O. Smith III has provided much of the theoretical basis for the audio resampling with his "Digital Audio Resampling Home Page": http://www-ccrma.stanford.edu/~jos/resample/ Hársfalvi, Levente has made a thorough investigation of the DC levels in the MOS6581 chip. His results are available in C= Hacking Issue #20, and form the basis of DC corrections in reSID. Levente found that each voice independently contributes to the DC level in the mixer. Note that some of the conclusions in the article are incorrect, as the maximum and minimum voice output levels are interchanged. The author of SIDPLAY2, Simon White, has given a lot of feedback on reSID. Most importantly he found and fixed a bug in the fast clock version of the ADSR emulation. Laurent Ovaert found and fixed a bug in the fast version of the noise register shift routine. Andreas Dehmel has reported all sorts of initialization and overflow errors. Laurent Ganier demonstrated two crucial techniques for vectorizable filter convolution in a patch. Firstly, he made the filter elements correspond to the sampling frequency, allowing the linear interpolation to be factorized out from the convolution. Secondly, he duplicated elements in the sample ring buffer, achieving contiguous storage of the samples. The current resampling implementation builds on these ideas, improving on them by using shifted filter tables for generalization and accuracy. Finally I would like to thank my business partner Stian W. Arnesen for putting up with all this nonsense.