+ Reply to Thread
Page 1 of 10 12345 ... LastLast
Results 1 to 20 of 187

Thread: SIDcog - The sound of the Commodore 64 ! (Now in the OBEX)

  1. #1

    Default SIDcog - The sound of the Commodore 64 ! (Now in the OBEX)

    Okey guys here it is, an emulation of the famous sound chip used in the Commodore 64 !

    Download the zip file and run "ExamplePlayroutine.spin" and "ExampleSidDumpPlay.spin".
    "ExampleSidDumpPlay.spin" needs a SD card and the file "Russian.dmp" in the root of the card.

    There are two different versions of SIDcog:
    - If you want a more accurate emulation of the SID use "SIDcog". (playback of C64 SID dump files)
    - If you want a small footprint use "SIDcog_Lite". (uses 63% of the space compared to SIDcog)

    The only difference between the two versions at the moment are the combined waveform support in "SIDcog".

    SIDcog version 0.80 features:
    - Runs in one cog - totally self contained.
    - 31kHz sample rate.
    - >16bit resolution.
    - Full filter support - any combination of Lowpass, Bandpass and Highpass filter.
    - Full envelope support with a logarithmic release/decay curve. ( uses the same logarithmic approximation as a real SID)
    - Supports all 4 waveform types
    - Combined waveform support ( Not supported in SIDcog Lite )
    - 16 steps main volume.
    - Waveform reset bit works. (many Rob Hubbard tunes relies on this exact behaviour)
    - Ring modulation.
    - Oscillator synchronization.
    - Can be "programmed" in the EXACT same way as a real SID. (Have a look at the official SID documentation for a better understanding)

    SIDcog lacks:
    - Possibillity to smoothly schange the filter resonance amount value (partly implemented thanks to Ariba)

    BTW, if you have missed the initial SIDcog demo have a look at http://forums.parallax.com/showthread.php?p=855167
    Here is a link to an archive containing the SID dumper tool.
    Download SIDcog serial player to play SID-tunes via a serial link to a propeller running SIDcog.

    Post Edited (Ahle2) : 6/14/2010 6:35:43 PM GMT
    Attached Files Attached Files
    Last edited by Ahle2; 04-21-2011 at 03:24 PM. Reason: Forum Migration

  2. #2

    Default

    Thank you so much for this excellent piece of work.

    This will be used many many times over

    Coley

    PS Do you have an app to dump the SID registers?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    PropGFX - The home of the Hybrid Development System and PropGFX Lite

    Post Edited (Coley) : 12/11/2009 10:59:11 PM GMT
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  3. #3

    Default

    Excellent Ahle2 :D thanks, and like Coley says, this will be used many many times over!

    Baggers.

    PS, I think we should really think about making a ModTracker. in Spin.
    Paul (Paulie) Hughes, who wrote the Ocean Loader, and driver for most of the early OCEAN SID tunes has 6502 source on his website, for the driver.
    We just need to convert it to spin/pasm, then make a tracker :)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/home of the PropGFX Lite

    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  4. #4

    Default

    Coley said...
    Thank you so much for this excellent piece of work.

    This will be used many many times over

    Coley

    PS Do you have an app to dum the SID registers?
    Yes, I do.... But it's buggy at the moment
    I will make a bug free platform independant QT version as soon as I have got any time.
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  5. #5

    Default

    Ahle2, I just noticed the example play routine :) EXCELLENT.
    Looks like I'm definitely going to have to make an on prop tracker now!

    Cheers,
    Jim.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/home of the PropGFX Lite

    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  6. #6

    Default

    Baggers said...
    Ahle2, I just noticed the example play routine :) EXCELLENT.
    Looks like I'm definitely going to have to make an on prop tracker now!

    Cheers,
    Jim.
    Yes.... You just have to do that

    I have been a tracker musician for 15 years and would LOVE to have a real tracker for the prop.
    It will be soooo much easier than typing in all the music data as numbers in a dat block.
    It took me forever just to type in all those numbers and the end result wasn't as good as I would have wanted it to be. (Its EXTREMELY hard to make anything decent by typing numbers in dat block)

    In the early 90s I used Protracker on my Amiga 500 and was limited to just 4 channels.
    In the mid 90s I used to do my music in Digibooster Professional on my Ultra Expanded Amiga 1200 and could have up to 128 channels.
    Today i'm using Psycle with 100s of VST synths and unlimted amount of channels.
    Tomorrow I will use SIDcog tracker on a Parallax Propeller with just 3 channels.

    The circle is finally closed....
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  7. #7

    Default

    Ahle2

    Thank you so much for releasing the source.
    Nice and well commented code !

    I have played a bit with the SID object, mainly to test the filter.
    Why have you made the resonance parameter a constant, and do not use the according SID register to change it?
    The resonance seems to work well.

    Can you convert the attached .SID file, I would like to compare it with the MP3s of this site: sid.kubarth.com/

    Thanks again
    Andy
    Attached Files Attached Files
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  8. #8

    Default

    The reason for it being a constant is... it simply isn't enough cycles left for the additional multiplication that is needed for calculating the resonance level.
    I could make it work by change the sample frequency to 15khz instead of 30Khz.... but is it worth it?

    I will try to make a proper version of my SID dumping tool and release it here.

    I have attached a RAR-file containing 141 dumps. Just rename the file to .rar

    Post Edited (Ahle2) : 12/14/2009 1:20:09 AM GMT
    Attached Files Attached Files
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  9. #9

    Default

    Nice to see you have the waveform reset bit working :)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/home of the PropGFX Lite

    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  10. #10

    Default

    Coincidentally, there is something similar for the XMOS chip:

    www.xcore.com/projects/xc-1-sid-emulator-demo

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  11. #11

    Default

    Leon,

    You just can't help yourself can you?
    I just knew you'd mention XMOS.......

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    PropGFX - The home of the Hybrid Development System and PropGFX Lite
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  12. #12

    Default

    I thought that comparing the two techniques might be of interest.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  13. #13

    Default

    As far as I understand, he just took an already available SID emulator and compiled it for the XMOS.
    That's cheating
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  14. #14

    Default

    Yes. He used the SID Codec for Rockbox based on the TinySID engine.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  15. #15

    Default

    Leon said...
    Yes. He used the SID Codec for Rockbox based on the TinySID engine.

    Leon
    TinySID is quite inaccurate actually. I did a lot of research for this project and I had a little look at the TinySID source code.
    The envelope part is totally wrong.
    And the combined waveforms is just a logical anding of the waveforms wich is incorrect.
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  16. #16

    Default

    I might try them both and see if if they sound different.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  17. #17

    Default

    Here is a little cool demonstration of psuedo stereo sid playing using two SIDcogs at once.
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  18. #18

    Default

    I've lost track of the fsrw thread (it's been moving forward fast!) but can it now support
    the opening of two different files? If so, you could open both the right and left sides of
    stereo sid files and play them in six voices.

    Here's a bunch of data from another Commodore die hard (Glenn wouldn't mind that title.) on stereo SIDs.
    www.lyonlabs.org/commodore/stereo-sid/index.html

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  19. #19

    Default

    Very interesting OBC.

    I will have a look to see if there is an easy way of getting dumps of music made in Stereo sidplay.
    They can't be dumped in my tool at the moment. :(
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

  20. #20

    Default

    Oldbitcollector said...
    I've lost track of the fsrw thread (it's been moving forward fast!) but can it now support
    the opening of two different files?...
    Yep. Just declare an array of FSRW objects, and make sure to mount one of them.

    Jonathan

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    lonesock
    Piranha are people too.
    Last edited by ForumTools; 09-30-2010 at 01:35 PM. Reason: Forum Migration

+ Reply to Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts