[sdiy] Top Octave Generator

Tom Wiltshire tom at electricdruid.net
Thu May 1 12:23:39 CEST 2008


On 1 May 2008, at 02:01, Veronica Merryfield wrote:

> I suspect you could probably roll any differences of 3 to 4 cycles  
> say together thus reducing the table size. Now if these micros  
> could have an instruction 'stall Rs' that stalled the micro for a  
> number of clocks, the code would be very simple - just walk an  
> index down a table outputting the word from one table, waiting the  
> amount in the other table then incrementing the index. The table of  
> time differences could have the code execution time for the loop  
> removed hence the adding events together.
>
> I am surprised it was as little as 5820 distinct events. So, about  
> 15KB for the data table and a hand full for the code. Neat.

I found a mistake in my table. It's pretty obvious.

I started the run at the point at which every output is low, and  
everything goes high on the first clock edge.
I stopped the list when I returned to the state at which I started -  
eg all zeros.

But the mistake is that that state can arise without all the counters  
being back at zero. In fact, it's much more likely to arise when the  
counters *aren't* all back at zero. So I corrected it and am redoing  
the list.

The original faulty version is still here:

http://www.electricdruid.com/TopOctave.html

Only trouble is, now it's a *really* long list (100,000 events and  
counting...), so a uP solution is looking less likely. If its not a  
huge download, I'll put the corrected one up as TopOctave2.html.

Sorry to get your hopes up!

T.





More information about the Synth-diy mailing list