|
|
Atari coding BBS
Re: Lance's 50 KHz playroutine |
Posted by: ljbk
|
Mar,06.2013-18:18
|
Hi !
The big buffer feature you talk about, i call it delayed-replay.
Some months ago, i evaluated its implementation in Hextracker to remove the highs and lows from the mod handler routine. But after some calculations, i found out the the gains versus the impacts were not very favorable in that case and i left that for another day.
With Lance routines, as you can see, there is a big performance gap between the best cases and the worst cases.
Let's say you reserve 30% for mod playing and you have a 50000 bytes buffer at 50 KHz. The buffer is then enough for 25 VBLs (0.5 seconds). If you have a note combination that takes 45% of the CPU (yes that is possible) then at each VBL you will only do 2/3 of the job, right. So after 3 VBLs, you are late 1 VBL already but you still have 24 VBLs of data ahead. But if that note combination stands for 75 VBLs (1.5 seconds) then you will have no data for the DMA ...
At 25 KHz the problem is similar in terms of CPU % but halved in terms of big buffer. It would take 3 seconds for the DMA to be out of data.
For this, a statistical work should be done first to find out how long worst case note combinations can remain. The Agony intro mod is a good one to test that because it has a lot of notes from the 3rd octave. Only with that info one can define the size of that buffer and if the feature is possible at all.
Now to the 8ch case. I know about that program and the plugin for Octalyser. But if you look in the docs it is refered explicitly that 6 bit samples are used in that case. No sources are available to modify. Don't expect me to do that part. I do not think it is worth the needed effort to get a low quality result (6 bit samples, lcm usage for volume control and 25 KHz).
I would prefer to invest in speeding up the basic Lance routines and/or make a single one adding a selectable output replay frequency and/or make a version without the lcm usage to have better quality.
Last but not least, there is one important error in the basic Lance source. The code size needed for the mixer code is not 60877 words (mt_mix_chunk ds.w 60877) but 61517 words.
If you put something in memory after the basic Lance source either you will overwrite part of the generated code or the Lance code generation routines will overwrite what you have loaded after that.
Also mt_frame_freq ds.w 27500 should be changed to 13775 but has no impacts. It is just wasted memory.
Sorry for this long post.
Paulo.
|
[All messages in this thread] [Start new thread]
Topic
|
Posted by
|
Date
|
Lance's 50khz playroutine
|
Bod/STAX
|
Feb,18.2013-17:35
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,18.2013-20:42
|
Re: Lance's 50khz playroutine
|
ggn
|
Feb,18.2013-20:53
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Feb,18.2013-21:28
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,18.2013-23:05
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,18.2013-23:16
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,19.2013-02:21
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Feb,22.2013-17:08
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,25.2013-20:36
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,25.2013-23:54
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Feb,26.2013-11:23
|
Re: Lance's 50khz playroutine
|
evil
|
Feb,26.2013-12:04
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,26.2013-14:45
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,26.2013-21:46
|
Re: Lance's 50khz playroutine
|
evil
|
Feb,27.2013-17:01
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-13:24
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-13:28
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,28.2013-14:07
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Feb,28.2013-21:41
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-22:42
|
Sem assunto
|
ljbk
|
Mar,01.2013-13:27
|
Lance's 50 KHz playroutine
|
ljbk
|
Mar,01.2013-15:49
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,01.2013-17:34
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,01.2013-17:36
|
Re: Lance's 50 KHz playroutine
|
evil
|
Mar,01.2013-19:03
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,02.2013-00:18
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,04.2013-17:39
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,06.2013-02:21
|
Re: Lance's 50 KHz playroutine
|
gwEm
|
Mar,06.2013-13:23
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,06.2013-15:57
|
Re: Lance's 50 KHz playroutine
|
evil
|
Mar,06.2013-16:48
|
Re: Lance's 50 KHz playroutine
|
ggn
|
Mar,06.2013-17:31
|
Re: Lance's 50 KHz playroutine
|
evil
|
Mar,06.2013-17:48
|
Re: Lance's 50 KHz playroutine
|
ggn
|
Mar,06.2013-23:54
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,06.2013-18:18
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,06.2013-21:51
|
Re: Lance's 50 KHz playroutine
|
ggn
|
Mar,06.2013-23:59
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,07.2013-02:31
|
Re: Lance's 50 KHz playroutine
|
ggn
|
Mar,07.2013-12:34
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,07.2013-14:00
|
Re: Lance's 50 KHz playroutine
|
gwEm
|
Mar,07.2013-18:00
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,07.2013-18:51
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,08.2013-02:10
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,08.2013-13:12
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,09.2013-00:17
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,06.2013-19:28
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-15:47
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-15:51
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-18:56
|
Re: Lance's 50khz playroutine
|
nativ
|
Mar,24.2013-00:07
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,13.2013-01:21
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,16.2013-16:12
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,19.2013-12:14
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,22.2013-14:54
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,25.2013-19:03
|
Re: Lance's 50khz playroutine
|
ggn
|
Apr,25.2013-21:03
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,26.2013-09:18
|
Re: Lance's 50khz playroutine
|
ggn
|
Apr,26.2013-11:28
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,26.2013-12:13
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,01.2013-22:30
|
Re: Lance's 50khz playroutine
|
evil
|
May,02.2013-14:46
|
Re: Lance's 50khz playroutine
|
gwEm
|
May,02.2013-20:00
|
Re: Lance's 50khz playroutine
|
Damo
|
May,02.2013-21:00
|
Re: Lance's 50khz playroutine
|
evil
|
May,03.2013-13:00
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,08.2013-17:50
|
Re: Lance's 50khz playroutine
|
Cyprian
|
May,10.2013-13:01
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,11.2013-00:22
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,11.2013-08:54
|
Re: Lance's 50khz playroutine
|
Cyprian
|
May,11.2013-15:18
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,11.2013-15:35
|
Re: Lance's 50khz playroutine
|
Lance
|
May,23.2013-00:02
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,23.2013-14:44
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Jun,06.2013-20:32
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Jun,06.2013-20:39
|
Re: Lance's 50khz playroutine
|
ljbk
|
Jun,07.2013-00:09
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Jun,07.2013-18:38
|
Re: Lance's 50khz playroutine
|
ljbk
|
Jun,07.2013-21:46
|
What's the anti-troll code? That's your personal code to be able to add comments and messages on the dhs.nu site.
Don't have a code or forgot it? Fix it here.
|
|
|