Pretty good, but emulating "normal" SID sounds is easy (its been done on Amiga in 1989). The hard (impossible?) part is the SID's funky (and flawed, but beautfiul) filters, resonancing, test-wave bits, sync and ring all put together. See "Cauldron by ReSourCe & The DReaMs & EXceeD" for one "simple" example. :)
You are of course right about how hard it is to emulate the SID chip. When I first saw "the 100 most remembered c64 game tunes" on my Amiga back in the early 90s I thought it sounded quite okay. Back then I didn't realize that it lacked ring modulation, filter support, oscillator synchronization, combined waveforms. It also lacks phase accumulation, lfsr noise, ADSR bug.. etc. It used the sample loop feature of the Paula to "emulate" the 4 basic waveforms. It's a far cry from a real sid.
SIDcog will never be able to sound exatly like a real SID. If it's hard to do a SID emulation on a PC with "unlimited" processing power and "unlimited" amount of RAM, then it should be impossible to do it in less than 300 assembler instruction on microcontroller without multiplication/division instructions running at 20 mips...right :) .. Actually you can use up to 512 instruction per core, but than you would not have any space for tables or variables.
Btw, oscillator synchronization and ring modulation is very easy to emulate because they are part of the pure digital and predictable part of the SID. The hardest part to emulate is, of course, the analog parts of the SID like the non-linear and distorted filter. (especially in the 6581) Then we have the psuedo digital part like "combined waveforms", which until the later versions of reSID either was emulated with a bitwise anding of waveforms (sounds awfull) or by a lookup table.
@MrAhle2 yes it's nice to have those 8 cores, but they are not that fast in fact. I can hear the aliasing ... the SID generates its samples at 982750 Hz, I presume you do not do this here ...
The emulator uses just a single core out of eight. The sample rate could have been greatly improved if more cogs were used. SIDcog has got a sample rate of 985248>>5 = 30789 Hz for PAL and 1022727>>5 = 31960 Hz for NTSC emulation. The most cycle hungry part of the emulation is, of course, the filter. So if we bypass the filter we could double the sample rate.
@MrAhle2 yes, but even if you double or quadruple the sample rate, you will not get rid of the aliasing, which is even worse for combined samples like pulse+triangle
This is kind of one of the secret of the digital part of the SID, indeed it is extremely simple, but it occurs at very high sampling rate, which can "almost" be considered as analog at this point :)
The biggest differance from the NES versions is of course the the triangle wave. (bass) The NES has got a 4 bit triangle wave and the C64 has got a 11 bit triangle. (128 times higher resolution than the NES)
While the C64 triangle is more HIFI, the low resolution NES triangle has got "funkier" overtones.
In my opinion the lofi NES triangle is actually a feature.
Even though some people have made awesome tunes using the pokey, it can't be denied the fact that notes sounds out of tune; And that's the reason I stated it is mostly suited for sound FX. I as a musician have a big problem with this. An example of a sound chip not suitable for music at all, is the TIA in the Atari 2600 with its 5bit frequeny register.
Awesome! I've been eyeing the propeller for a really long time and just recently picked up Parallax's education kit. Amazed at how fast I'm picking it up and how enthusiastic I am about learning, thanks to how much awesome stuff like this there is out there. I grew up on a C64 and this really takes me back - I'm going to build one of my own now, too. :D
Click my name to view COMMODORE 64 SAMPLES PACK: SFX SOUND EXPANDER IN 'C'. If you click the link below it you are also taken to a special selection of SID sounds and effects taken from famous games and applications.
Comment removed
sid6581 2 weeks ago
Pretty good, but emulating "normal" SID sounds is easy (its been done on Amiga in 1989). The hard (impossible?) part is the SID's funky (and flawed, but beautfiul) filters, resonancing, test-wave bits, sync and ring all put together. See "Cauldron by ReSourCe & The DReaMs & EXceeD" for one "simple" example. :)
jci10 3 months ago
@jci10
You are of course right about how hard it is to emulate the SID chip. When I first saw "the 100 most remembered c64 game tunes" on my Amiga back in the early 90s I thought it sounded quite okay. Back then I didn't realize that it lacked ring modulation, filter support, oscillator synchronization, combined waveforms. It also lacks phase accumulation, lfsr noise, ADSR bug.. etc. It used the sample loop feature of the Paula to "emulate" the 4 basic waveforms. It's a far cry from a real sid.
MrAhle2 3 months ago
SIDcog will never be able to sound exatly like a real SID. If it's hard to do a SID emulation on a PC with "unlimited" processing power and "unlimited" amount of RAM, then it should be impossible to do it in less than 300 assembler instruction on microcontroller without multiplication/division instructions running at 20 mips...right :) .. Actually you can use up to 512 instruction per core, but than you would not have any space for tables or variables.
MrAhle2 3 months ago
Btw, oscillator synchronization and ring modulation is very easy to emulate because they are part of the pure digital and predictable part of the SID. The hardest part to emulate is, of course, the analog parts of the SID like the non-linear and distorted filter. (especially in the 6581) Then we have the psuedo digital part like "combined waveforms", which until the later versions of reSID either was emulated with a bitwise anding of waveforms (sounds awfull) or by a lookup table.
MrAhle2 3 months ago
@MrAhle2 yes it's nice to have those 8 cores, but they are not that fast in fact. I can hear the aliasing ... the SID generates its samples at 982750 Hz, I presume you do not do this here ...
sid6581 2 weeks ago
@sid6581
The emulator uses just a single core out of eight. The sample rate could have been greatly improved if more cogs were used. SIDcog has got a sample rate of 985248>>5 = 30789 Hz for PAL and 1022727>>5 = 31960 Hz for NTSC emulation. The most cycle hungry part of the emulation is, of course, the filter. So if we bypass the filter we could double the sample rate.
MrAhle2 2 weeks ago
Comment removed
sid6581 2 weeks ago
Comment removed
sid6581 2 weeks ago
This has been flagged as spam show
@MrAhle2 yes, but even if you double or quadruple the sample rate, you will not get rid of the aliasing, which is even worse for combined samples like pulse+triangle
sid6581 2 weeks ago
This is kind of one of the secret of the digital part of the SID, indeed it is extremely simple, but it occurs at very high sampling rate, which can "almost" be considered as analog at this point :)
sid6581 2 weeks ago
Impressive, but the NES music via SID is a little "dippy" sounding. :P
videogameobsession 5 months ago
@videogameobsession
The biggest differance from the NES versions is of course the the triangle wave. (bass) The NES has got a 4 bit triangle wave and the C64 has got a 11 bit triangle. (128 times higher resolution than the NES)
While the C64 triangle is more HIFI, the low resolution NES triangle has got "funkier" overtones.
In my opinion the lofi NES triangle is actually a feature.
MrAhle2 5 months ago in playlist microcontroller
Impressive!
pHr33kAcHu 6 months ago
Comment removed
ArchTV 6 months ago
Have you tried to emulate the sound generators in an Atari POKEY chip?
douro20 9 months ago
@douro20
No, but it should not be very hard to do. (compared to the SID)
I have been thinking about making an implementation of the POKEY, but it's mostly suited for sound FX due to having only 8 bit frequency register.
I have a full emulation of the AY3-8910 / YM2149F running on the propeller though.
MrAhle2 9 months ago
@MrAhle2
Music has been done on it, though, and to good effect. It's quite a capable little chip.
douro20 9 months ago
@douro20
Even though some people have made awesome tunes using the pokey, it can't be denied the fact that notes sounds out of tune; And that's the reason I stated it is mostly suited for sound FX. I as a musician have a big problem with this. An example of a sound chip not suitable for music at all, is the TIA in the Atari 2600 with its 5bit frequeny register.
MrAhle2 9 months ago
song name at 0:45 please
MAMware 1 year ago
@MAMware
Megaman 1: Dr.Wily stage 1
(This is of course a C64 remake)
MrAhle2 1 year ago
I like your video. You have done excellent job. Congratulations !!!!!
NGYT40 1 year ago
Awesome! I've been eyeing the propeller for a really long time and just recently picked up Parallax's education kit. Amazed at how fast I'm picking it up and how enthusiastic I am about learning, thanks to how much awesome stuff like this there is out there. I grew up on a C64 and this really takes me back - I'm going to build one of my own now, too. :D
devikwolf 1 year ago
wow, this is pretty amazing. Maybe the Parallax propeller platform could be the new standard for c64 emulation??
So have you measured the accuracy of your emulation??
Keep up the good work, I have just subbed to your channel:D
Pervypriest 1 year ago
amazing!
thefatmoop 1 year ago
Comment removed
speewave 1 year ago
sweet! megaman music
Marigio300 1 year ago
Anybody interested in some new Commodore samples?
Click my name to view COMMODORE 64 SAMPLES PACK: SFX SOUND EXPANDER IN 'C'. If you click the link below it you are also taken to a special selection of SID sounds and effects taken from famous games and applications.
OnlyGoodCommie 1 year ago
Wow, this is awesome!!!!
Spiritplumber 1 year ago
What song starts at 1:06? I know I've heard it before; it's driving me nuts!
ronfar623 1 year ago
@ronfar623
Metroid ingame music.
MrAhle2 1 year ago
Wie in alten Tagen! :) Haben wollen auf dem Hive...
ainur23hive 1 year ago