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