dmantione / swinsid

Source code for the popular SwinSID SID replacement
53 stars 5 forks source link

Graphing the waveform data to take a look at them: #1

Closed davepoo closed 1 year ago

davepoo commented 1 year ago

I've been having a look through the reconstructed source code. Can't say I understand a lot of it yet, but there is a lot less code than I thought there would be. I made a python script to read in the waveform data and graph them so you can take a look at them.

swinsid_waveforms_all

dmantione commented 1 year ago

Hello Dave,

Thanks for this! I have created a doc directory and added the graphs there. Looking at the graphs it seems Swinkels originally wanted to add some more waveforms to the SID, and have them activated by combining the noise waveform with some other waveform. However, they are never used, there is a random generator in the code that is used instead of the wave table if the noise form is enabled (whatever other waveform you combine it with).

The sawtooth + triangle, pulse + triangle, pulse + sawtooth and pulse + sawtooth + triangle match the behaviour of the 8580.

Regarding understanding the code, you need to get used to the AVR mnemonics. I had coded AVR assembler before but it was a bit rusty for me as well, but as soon as I got used to the mnemonics again, the code became quite a bit more readable.

Daniël