Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Composing > 4-bit, 3-chan PWM
2007-07-09 18:05
McMeatLoaf

Registered: Jan 2005
Posts: 108
4-bit, 3-chan PWM

I already know about some music with PWM (e.g. "Ragga Run" by Danko). I know you can get up to 8-bit or something (although AFAIK you can't get much better than 16khz at 6-bit), but is there any examples of using just 4-bit PWM, but in 3 channels, which basically creates a 3-chan MOD?
And if it's possible, how high sample-rate can you get? (20khz?)

Yes, the post above may seem confusing...

 
... 16 posts hidden. Click here to view all posts....
 
2007-07-12 09:11
Frantic

Registered: Mar 2003
Posts: 1648
@Oswald: Well, as Magervalp pointed out, I was referring to other CPU hungry SID hacking approaches APART FROM Sample playing (which is what the stuff you mention is all about).

On the other hand I wasn't necessarily referring to hardware intricacies of the kind SounDemon explored with his "new waveforms" a while ago (resetting the noise "oscillator" by tricky register settings), as referred to by Magervalp. Of course, there may still be some potential for such stuff, but it was not mainly what I was thinking about in this case.

Rather, I was talking about stuff like, for example, using timers in general for resetting the testbit periodically in order to change the shape of waveforms, combining waveforms in a controlled and timed way in order to produce controlled additive and subtractive results (which can in fact produce FM-like or sample playing like results) and whatever. Other stuff would be CPU hungry modification of the envelopes in order to gain complete control of them over time (Alih did some experiments similar to this I think, with "software oscillators", like sines, "controlling" some SID parameters other than just vibrato/frequency, which do not have direct hardware support for being controlled in such ways, but can be controlled in that way using CPU hungry code), and so on. However, the borders between different approaches are fuzzy of course. Multi speed music could be argued to be able to achieve much of the "CPU hungry" potential, but not all, if we think about the more exactly timed stuff I mentioned, which may require one or several CIA timers (or timed code) running at different speeds, changing dynamically over the time as the music plays different frequencies and so on.

etc etc..

Anyway, the topic was about sample playing, so I guess I am sliding off topic here. Sorry.
2007-07-12 13:28
McMeatLoaf

Registered: Jan 2005
Posts: 108
Quote: @Oswald: Well, as Magervalp pointed out, I was referring to other CPU hungry SID hacking approaches APART FROM Sample playing (which is what the stuff you mention is all about).

On the other hand I wasn't necessarily referring to hardware intricacies of the kind SounDemon explored with his "new waveforms" a while ago (resetting the noise "oscillator" by tricky register settings), as referred to by Magervalp. Of course, there may still be some potential for such stuff, but it was not mainly what I was thinking about in this case.

Rather, I was talking about stuff like, for example, using timers in general for resetting the testbit periodically in order to change the shape of waveforms, combining waveforms in a controlled and timed way in order to produce controlled additive and subtractive results (which can in fact produce FM-like or sample playing like results) and whatever. Other stuff would be CPU hungry modification of the envelopes in order to gain complete control of them over time (Alih did some experiments similar to this I think, with "software oscillators", like sines, "controlling" some SID parameters other than just vibrato/frequency, which do not have direct hardware support for being controlled in such ways, but can be controlled in that way using CPU hungry code), and so on. However, the borders between different approaches are fuzzy of course. Multi speed music could be argued to be able to achieve much of the "CPU hungry" potential, but not all, if we think about the more exactly timed stuff I mentioned, which may require one or several CIA timers (or timed code) running at different speeds, changing dynamically over the time as the music plays different frequencies and so on.

etc etc..

Anyway, the topic was about sample playing, so I guess I am sliding off topic here. Sorry.


If you're off topic? Hmm, it's OK to me, although a whole discussion about "new waveforms", CPU-intensive SID tricks and such would probably need its own topic. :)
2007-08-02 22:30
McMeatLoaf

Registered: Jan 2005
Posts: 108
Quote: @Oswald: Well, as Magervalp pointed out, I was referring to other CPU hungry SID hacking approaches APART FROM Sample playing (which is what the stuff you mention is all about).

On the other hand I wasn't necessarily referring to hardware intricacies of the kind SounDemon explored with his "new waveforms" a while ago (resetting the noise "oscillator" by tricky register settings), as referred to by Magervalp. Of course, there may still be some potential for such stuff, but it was not mainly what I was thinking about in this case.

Rather, I was talking about stuff like, for example, using timers in general for resetting the testbit periodically in order to change the shape of waveforms, combining waveforms in a controlled and timed way in order to produce controlled additive and subtractive results (which can in fact produce FM-like or sample playing like results) and whatever. Other stuff would be CPU hungry modification of the envelopes in order to gain complete control of them over time (Alih did some experiments similar to this I think, with "software oscillators", like sines, "controlling" some SID parameters other than just vibrato/frequency, which do not have direct hardware support for being controlled in such ways, but can be controlled in that way using CPU hungry code), and so on. However, the borders between different approaches are fuzzy of course. Multi speed music could be argued to be able to achieve much of the "CPU hungry" potential, but not all, if we think about the more exactly timed stuff I mentioned, which may require one or several CIA timers (or timed code) running at different speeds, changing dynamically over the time as the music plays different frequencies and so on.

etc etc..

Anyway, the topic was about sample playing, so I guess I am sliding off topic here. Sorry.


OK, this may be bumping, but anyway:
Is it possible to change the CIA timers while a tune plays, so you can e.g. have one channel at 6x and another at maybe 8x, and then change the values to e.g. 9x and 12x?

If so, wouldn't it be possible to play some "notes" by using very tight loops (e.g. flipping from 400 to 0-16 hz)?

2007-08-03 06:50
Oswald

Registered: Apr 2002
Posts: 5094
you can have only one interrupt based on cia timers.
2007-08-03 06:53
chatGPZ

Registered: Dec 2001
Posts: 11386
two to be exact :)
2007-08-03 06:54
Frantic

Registered: Mar 2003
Posts: 1648
Uh? CIA1 triggers IRQ interrupts, and CIA2 triggers NMI interrupts, so two should be possible without problems? (almost at least, since they might be disturbing each other a little (NMI has prio over IRQ) in case the are triggered at the same time)..

Dunno exactly how Polytracker works btw, but isn't it something like using all the four timers, one for each channel, in some way?

Edit: This was written before Gpz replied.
2007-08-03 07:05
ChristopherJam

Registered: Aug 2004
Posts: 1409
Of course, you could always use constant interrupt rate and just get different pitches by stepping through the source samples at non-integer speeds (just use fixed point or something akin to a Bresenham line plotter).
2007-08-03 08:53
Oswald

Registered: Apr 2002
Posts: 5094
yeah, got carried away with digis thinking only of nmi :P
2007-08-03 15:25
McMeatLoaf

Registered: Jan 2005
Posts: 108
Quote: Of course, you could always use constant interrupt rate and just get different pitches by stepping through the source samples at non-integer speeds (just use fixed point or something akin to a Bresenham line plotter).

Yeah, something like that would be interesting to try.

But isn't it possible to just try a single-channel experiment with the CIA timers, and just use tight loops and change the CIA timers while the tune is playing, if it's possible?
(Note, just 1 channel)
Probably it wouldn't be efficient, but it would be fun to try. :)
2007-08-03 15:55
Oswald

Registered: Apr 2002
Posts: 5094
maybe you should try again, as at this point to me it doesnt make any sense. you seem to be even lacking the knowledge on how CIA based digis work, and mixing terms without knowing the meaning to them. go do your homework, learn how CIA digis work come back when you know and ask again. thxbye.
Previous - 1 | 2 | 3 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Fred/Channel 4
Bieno/Commodore Plus
Chesser/Blazon
Mr. Sex/Byterapers
REBEL 1/HF
Guests online: 82
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 The Demo Coder  (9.6)
6 Edge of Disgrace  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 X-Mas Demo 2024  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Mutetus  (9.7)
3 Jeroen Tel  (9.7)
4 Linus  (9.6)
5 Stinsen  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.064 sec.