5 ms·
There are FPGA recreations too which are not software emulation. Not quite an ASIC but realistically as close it at gets at this volume. [1]https://www.fpgasid
by foft 5y ago
There are FPGA recreations too which are not software emulation. Not quite an ASIC but realistically as close it at gets at this volume.
[1]https://www.fpgasid.de/ https://www.fpgasid.de/
[2]https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2Fretronics.eu%2Fposts%2F2921073591505093 https://www.facebook.com/plugins/post.php?href=https%3A%2F%2...
I'm working on the latter one, Sidmax, so if there are any questions happy to answer.
- tssva 5y agoSince a lot of the distinctive sound of a SID comes from the analog components which still need to be emulated in a FPGA solution does an FPGA solution really get closer to the sound of an actual SID than a quality software emulation?
- foft 5y agoFPGA does not really offer advantages of accuracy, though it does offer advantages in time precision. This is important when putting it inside a C64. Of course a much faster CPU can also be used to handle real cycle accuracy in sync with the original clock. Part of the sid sound comes from the non-linearity due to approximation in its design. For example the state variable filters are very non-linear on the 6581. It even differs significantly from each individual chip to chip[1]. The best software models I'm aware of are in residfp[2] and jsidplay[3]. After some work in octave I found the filter model can be recreated without the large lookup tables used in this software. Of course getting the digital part correct is also important. There is a lot of documentation on this resulting from the decap [4]. Some features like bitfade, multiple driven bits in the wave corruption etc do not translate well to FPGA. They can be approximated with timers and lookup tables. [1] Filter response chart: https://csdb.dk/forums/?roomid=14&topicid=105719 https://csdb.dk/forums/?roomid=14&topicid=105719 [2] residfp: https://bel.fi/alankila/c64-sw/index-cpp.html https://bel.fi/alankila/c64-sw/index-cpp.html [3] jsidplay2: https://haendel.ddns.net/~ken/ https://haendel.ddns.net/~ken/ [4] Sid internals: https://sourceforge.net/p/sidplay-residfp/wiki/SID%20internals/ https://sourceforge.net/p/sidplay-residfp/wiki/SID%20interna...