Go Down

Topic: SID Chip and 8 Bit Arduino DAC (Read 13758 times) previous topic - next topic


Late coding night for me tonight, blog updated with a "brute" sound sample of the shield.

Also added timing measurements and a scope screen of the Midiframe VS sound delay.

Peace, Vince
Blog, DIY Electronics & Stuff - http://www.banson.fr


MOS 6581 Arduino Synth Beta 1 released.

Midi implementation completed, the SID is configurable with midi CC messages. Lots of fun out of it, a few samples indeed:

>>Jungle Bass<< Pattern from Laphaze
>>Vintage Chord<< They still rock
>>Vintage Keyb<< sooo groovy

More details on the blog, I'm tired but very happy!
Blog, DIY Electronics & Stuff - http://www.banson.fr


Finally, I've got some results! :P https://plus.google.com/u/0/photos/118406236768471008972/albums/5669397511077380353
So, we've managed to make Arduino play SID dumps from an SD card (A text file containing addresses and data to send). However, it's currently very buggy - my project partner wrote his own code - not based on D4p0up's work, and currently we have some problems, probably with timing - the SID occasionally plays extra notes where it shouldn't - that can be seen on slow music with low amounts of data to send - like Super Mario Bros. Still, as you can see from the video, playing files with high note density goes okay. Any ideas? I'v attached the code below.


First congratulations with getting sound out of the SID, it's always a huge moment :)

Concerning your ghost notes issue, I had the same one with my own SW, which I eventually solved by adding a 300us wait command after each SID write (see the library, inside the SID.cpp). It seems, but I could not verify it firmly with other internet sources, that the SID somehow needs time to store Data, event if the transmission time is announced to be much faster in the datasheet. 300us is Ok for sound devices.

I'm curently in the process of building a MOS6581/8580 datasheet using feedback from my own work and scanned versions of the datasheet from SID websites. you can find it here, I added other tricks and tips that shall help (note: it's not finished and will be improved alongside with the SIDaster updates).

Concerning the SIDaster Shield & Synth, 5x5cm Shield prototype is almost finished, as you can see here. I'm still waiting for another development board I have designed to continue with SW programming. Next release will include Preset handling through Dedicated Sysex Messages, Polyphonic - 3 notes - mode, and first release VST Gui that handles patch editing and preset saving (Windows only). Preset format and Midi implementation is already detailed on the project page.

I don't want to commit on a date, but it's moving on. This is a spare time project and I'm quite busy with regular job stuff ATM.


Blog, DIY Electronics & Stuff - http://www.banson.fr


Hmm, I tried delays in various places, does not seem to have any effect. Moreover, with delay = 600us it plays slowly, but still with extra notes popping out absolutely randomly. Don't have a clue =(


Yeah, I forgot to mention that I'm using an external 1MHz oscillator, maybe I should sync both Arduino and the SID to it somehow?


Jan 15, 2013, 11:18 am Last Edit: Mar 08, 2013, 01:38 am by D4p0up Reason: 1
Update of the SIDaster synth : first "manufacturing quality" grade PCBs have been delivered, here is the first SID shield for arduino straight out of the box !

Full project details here : http://www.banson.fr/wiki/doku.php?id=sidaster
(including HW, SW, VST Gui for debugging, a few samples, etc...)

I have a few PCBs (5) available, send me a message if you want one.
Blog, DIY Electronics & Stuff - http://www.banson.fr


Apr 05, 2013, 06:45 pm Last Edit: Apr 05, 2013, 06:49 pm by mrcimple Reason: 1
is there any plans to play audio and use the sid as a dac?

for example to play some vocal sounds and play through the sid?

I remember in games the sid was able to play digital samples, the "fight" sound in a few games.

"One of the technical tricks that the SID was coaxed into performing was that of playing sampled sound. This certainly wasn't on the feature list when it was designed, but some clever programmers took advantage of the simple fact that the SID made a clicking noise when its volume level was modified. By very rapidly changing the volume level it was possible to produce some low quality (but perfectly reasonable) 4-bit sampled sounds.

One of the earliest and most memorable uses for this was in the game Impossible Mission, released by Epyx in 1984. When the game started, an evil voice addressed you from within your TV, saying, "Another visitor. Stay awhile stay forever!" It set the scene perfectly, along with a number of other samples that featured during the game. Ghostbusters also employed sampled sounds to good effect.

Initially however the amount of work the CPU was required to perform in order to play these sounds meant that little else happened while the samples were playing. The action would freeze until the speech had finished. This problem was solved later on and sampled sound became more common, used both for sound effects (I, Ball and Mega Apocalypse both featured samples in this way) and also in some of the later pieces of music.

Sampled sounds were particularly well suited to producing drum effects. Due to the nature of percussive sounds, the low quality samples rarely tended to be noticeable. Using this trick to play samples also effectively created a fourth sound channel (none of the other three channels were required in order for samples to be played), giving the musicians a whole new set of things to try.

There are many excellent pieces of music that use sampled sounds for drums, speech and other effects. The first to be released was Martin Galway's music for Arkanoid, published by Imagine in 1987. Galway admits that he didn't actually have any sampled drum sounds so the drums used in this piece of music were created manually (he describes them as "a collage of farts and burps").

The technique was very much refined over the coming months and years, however. Worthy of particular mention are Savage and Turbo Outrun (both by Jeroen Tel and the Maniacs of Noise) and Combat School (again by Martin Galway) which all make excellent use of sampled sound.

Go Up