ljbk wrote:Hi Frank,
Volume control, done the accurate way, is a set of 65 tables, where a entering 8 bit sample byte will be converted into a 8bit result sample volumed byte.
For speed reasons the original samples resolution can be reduced to 7 bits and bit 0 set to 0 to have a word boundary access to those tables and get as a result a word instead of a byte.
Volume is not fixed for each sample and can change on the fly with values from 0 to 64 (HW values from Amiga).
If everything was to be pre-computed, then one would need 64 samples for each original sample (volume 0 could be spared). That would be a huge memory area.
The info i gave you about registers usage, was by looking fast at that book you refer (La Bible ST in french).
I forgot to refer Mouse, Keyboard and other device interrupts handling which have to be taken into account if you wish to keep them available.
Something you can do is to build a small program where you set the registers to specific values like $01234567 and after $FEDCBA98, do what you need with TOS/GEM and then you check the registers values to see which have changed and which have not.
i know that you just had a quick look,
but by the quick look i had, then it look, that you are spot on regarding the Addr. Reg.
I had just hope, that maybe there was some clean regs, there was not altered by any things, but i will survive, I just make two routines one with push/pops and one with out.
it is not so important right now, my sound project is on hold for the moment, i am working on a other program for windows.
but now the core is more or less finish for the synth wave routine, so i have learn a lot the last couple of days
but general my biggest problem today, when coding for the ST, is that all the books i used to have, i have thrown out, i only save a few of them
so sometime i have a very hard time to finds the information i needed, so that's probably why, i sometimes ask some stupid questions
but many thanks for your help Paulo I appreciate it very much.