Jump to content
kliepatsch

New audio upload: Tiny PCM Synth

Recommended Posts

Tiny PCM Synth

View File

I wanted to explore the possibilities with the PCM output. This tiny synth generates a sweet tone from three sine waves, coated in a thin shiny silver layer of aliasing. To spice it up, I also added a delay effect. You can play it with your keyboard. Use Z and X to switch octaves.

I do not plan to follow this route any further, because the possibilities are quite limited with the X16. I am sure one could do better than I did, but the X16 doesn't have enough power to provide a whole lot of flexibility in the sound generation (at least with PCM).

Find the source here: https://github.com/biermanncarl/cx16-tiny-pcmsynth

Feel free to reuse the code for your own projects!

 


 

  • Like 3

Share this post


Link to post
Share on other sites

AMAZING JOB!!!!!! This likely wouldn't be reliable for use in an actual game though, considering how CPU-intensive synthesizing PCM audio on the fly is.

If you want to reduce the CPU usage though, have you thought about using some of the additional 65C02 instructions? All of them are said to be compatible with R38.

  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks! I didn't know about the extra 65C02 instructions. Looking at them, I think they would rather benefit the keyboard polling code than the actual sound generation, unfortunately.

The question is rather, if the game would run reliably alongside this 😄

I think atm the CPU usage is 70-80% -- so you would still have a C64 equivalent of computing power left for the game 😉

Edited by kliepatsch

Share this post


Link to post
Share on other sites
32 minutes ago, kliepatsch said:

Thanks! I didn't know about the extra 65C02 instructions. Looking at them, I think they would rather benefit the keyboard polling code than the actual sound generation, unfortunately.

Have you ever seen the FAQ page? It says "WDC 65C02S @ 8 MHz".

Share this post


Link to post
Share on other sites

Yes 🙃 One more sign that I didn't know what I was doing ... I saw that command somewhere, likely in some source code by Matt Heffernan, and thus used it myself, wondering why it didn't appear in the 6502 instruction set 😄

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Please review our Terms of Use