Archive of the former Yahoo!Groups mailing list: Korg Poly800/EX800 Users

previous by date index next by date
previous in topic topic list next in topic

Subject: Re: [korgpolyex] Accent envelope

From: Michael Hawkins <korgpolyex800@...>
Date: 2009-01-16

Actually, I am facing a RAM and Flash ROM crunch in general.

The original Korg stored parameters very efficiently by squeezing them all into as few bytes as possible (21 bytes in fact).

However, using that technique wasted a lot of ROM code on rotating bits left and right to reassemble and disassemble those 21 bytes into the original parameters.

I chose to use a byte per extended parameter even when that resulted in wasting 7 bits on a on off bit parameter. I did that because I was able to write the parameter editing code very small indeed.

Now we want to add a gazillion new velocity parameters. All of the extended parameters are used up.

So I need to go back and use a byte per parameter in the original parameters. That will allow us to use all those empty unused parameters for velocity such as parameters 34-38 and 81-88.

But no matter which path we take, there is either going to be much more code, or much more ram use.

And that's BEFORE we even talk about creating an array for envelopes. Although the envelopes in an array wouldn't cause a ram space issue, the code to drive it all will take a not inconsiderable amount of lines.

It's the code and static ram for handling the new parameters that would result from doing an array of envelopes for velocity sensitivity that is giving me headaches.

Mike.


From: Atom Smasher <atom@...>
To: korgpolyex@yahoogroups.com
Sent: Friday, January 16, 2009 10:44:56 AM
Subject: Re: [korgpolyex] Accent envelope

On Fri, 16 Jan 2009, Michael Hawkins wrote:

> Yes, I just ∗knew∗ that you would be both smart enough and sharp enough
> to work that out.
>
> The answer yes, it could be done. At the moment, I have just two
> envelope "sets" but this could be expanded.
>
> Now what was it you were saying about not modding the HAWK-800 for more
> flash?
>
> Because the limitation here is going to be the size of the code which is
> bloating the more you keep talking! LOL
============ ========

is the limiting factor here the size of the code? or the size of the RAM?
with the HAWK v1.3 how many envelopes could be precomputed and held in RAM
(assuming the functionality is available to all EGs, but even then can we
dynamically trade resolution for how many EGs respond to velocity)?

how thoroughly has the EG code been optimized? what if there's only one EG
in the firmware, and ALL of the envelopes are precomputed? that might be a
feasible RAM/ROM tradeoff...? it might even lighten the load if velocity
isn't even used in a patch...?

damn... it's sure easy to come up with ideas when someone else is writing
the code ;)

--
...atom

____________ _________ ___
http://atom. smasher.org/
762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
------------ --------- --------- --------- --------- -

"I see in the near future a crisis approaching that unnerves
me and causes me to tremble for the safety of my country...
corporations have been enthroned and an era of corruption in
high places will follow, and the money power of the country
will endeavor to prolong its reign by working upon the
prejudices of the people until all wealth is aggregated in a
few hands and the Republic is destroyed."
-- U.S. President Abraham Lincoln, 21 Nov 1864