1reSID was written by Dag Lem. 2 3The project was started after reading an interview with Bob Yannes, the 4head engineer of the SID chip. This interview was made by Andreas Varga, 5with additional questions from Linus Walleij. The interview can be found on 6the SID Homepage: 7http://stud1.tuwien.ac.at/~e9426444/sidpage.html 8The reverse engineering of the SID chip would not have been possible without 9this interview. 10 11Also found on the SID Homepage is an examination of the SID noise waveform 12written by Asger Alstrup. This article was of great help in reverse 13engineering the complete algorithm for the noise waveform. 14 15Lars Haugseth has been invaluable in the testing of reSID. 16In a matter of hours after hearing about my project, he had completed a 6510 17disassembler in Perl. The importance of this was not evident to me until the 18next day when he had disassembled the music routine for "Outrun Remix" by 19Geir Tjelta, made some changes to it, reassembled, and produced a file 20containing 48K of SID register values. 21The first tests of reSID were run on this file. 22With an exceptional memory of Commodore 64 tunes Lars Haugseth has pointed 23out several errors in reSID that are now corrected. 24 25Morten Rollan and K�re Gunnar Nesheim have provided interesting and insightful 26information regarding digital filters. K�re Gunnar Nesheim has also kindly 27provided a 1901 monitor and a C64C from his private computer museum. His C64C 28was used to measure the MOS8580 filter cutoff characteristics. 29 30VICE has been an inspiration for this project, and testing of reSID has 31been greatly simplified by VICEs -sounddev dump option. Teemu Rantanen 32has written support for reSID in VICE, making it possible to choose at runtime 33between his excellent SID emulation and, given enough CPU power, the reSID 34emulator engine. Tibor Biczo, Andreas Boose, and Andr� Fachat have provided 35combined waveform samples for 6581 R1, R3, R4, and 8580 R5 SID chips. 36The VICE home page is found at: 37http://vice-emu.sourceforge.net/ 38 39The author of SIDPLAY, Michael Schwendt, has implemented a patch to link 40libsidplay with reSID. Using his excellent tune player he has pointed out 41several bugs in reSID. He has also provided invaluable information related to 42the bugs as basis for further investigation. Most notably, the infamous ADSR 43delay bug, of which I was previously unaware, has finally been understood and 44is now correctly implemented in reSID. The SIDPLAY home page is found at: 45http://www.geocities.com/SiliconValley/Lakes/5147/ 46 47A bug report from Daniel Lacasse led to the discovery of a previously unknown 48SID bug, the ADSR boundary bug. 49 50Anders �deg�rd has explained aspects of analog electronics and audio 51equipment. 52 53Bob Yannes has patiently answered questions and has provided lots of 54technical information on the SID filter. Thank you Bob! 55 56Julius O. Smith III has provided much of the theoretical basis for the 57audio resampling with his "Digital Audio Resampling Home Page": 58http://www-ccrma.stanford.edu/~jos/resample/ 59 60H�rsfalvi, Levente has made a thorough investigation of the DC levels 61in the MOS6581 chip. His results are available in C= Hacking Issue #20, 62and form the basis of DC corrections in reSID. Levente found that each 63voice independently contributes to the DC level in the mixer. Note 64that some of the conclusions in the article are incorrect, as the 65maximum and minimum voice output levels are interchanged. 66 67The author of SIDPLAY2, Simon White, has given a lot of feedback on 68reSID. Most importantly he found and fixed a bug in the fast clock 69version of the ADSR emulation. 70 71Laurent Ovaert found and fixed a bug in the fast version of the noise 72register shift routine. 73 74Andreas Dehmel has reported all sorts of initialization and overflow 75errors. 76 77Laurent Ganier demonstrated two crucial techniques for vectorizable 78filter convolution in a patch. Firstly, he made the filter elements 79correspond to the sampling frequency, allowing the linear 80interpolation to be factorized out from the convolution. Secondly, he 81duplicated elements in the sample ring buffer, achieving contiguous 82storage of the samples. The current resampling implementation builds 83on these ideas, improving on them by using shifted filter tables for 84generalization and accuracy. 85 86Otto Jarvinen has made great contributions to SID emulation by 87thoroughly investigating and documenting the effects of the test bit 88on the noise waveform shift register, and the behavior of waveform 0. 89He has demonstrated how the test bit can be used to generate entirely 90new waveforms, and how waveform 0 can be used to generate 8-bit 91samples. 92 93Michael Huth has made high quality SID die photographs available, and 94Tommi Lempinen has done impressive work revectorizing and annotating 95these die photographs. The current level of accuracy in the emulation 96of the SID filter would not have been possible without the work of 97Michael and Tommi. 98 99Antti Lankila has worked tirelessly on improving SID emulation in his 100fork of reSID, resid-fp. He has, among other things, measured and 101described the main non-monotonous behavior of the SID 6581 D/A 102converters, measured and analyzed small-signal filter cutoff curves 103for several SID 6581 chips, and is always willing to help with 104analysis in the quest for ever improved SID emulation. He has also 105found and corrected a bug in the reSID resampling code. 106 107Finally I would like to thank my business partner Stian W. Arnesen for 108putting up with all this nonsense. 109