Jump to content
IGNORED

LSP player conversion to Atari Jaguar


Ericde45

Recommended Posts

1 hour ago, Ericde45 said:

the lsp converter is made by Leonard^Oxygene, for Amiga demos.

using it for 8 voices on Jaguar is a 'hijack'

lsp converter has currently no public source available

so it has to be used on 2 splitted 4 channels modules...

ah.... i wasnt aware that it is 8 voices. sorry my fault... I can ask Leonard myself thx.

Link to comment
Share on other sites

  • 2 months later...
9 hours ago, 42bs said:

Derived from my optimized version?

not really, i did not introduce all your optimisations, as i did not want the code to be too unclear to read

version with SFX does not aim at optimizing, otherwise it would be a module only , no sound , version, that is existing also in the github

Edited by Ericde45
Link to comment
Share on other sites

27 minutes ago, Ericde45 said:

not really, i did not introduce all your optimisations, as i did not want the code to be too unclear to read

version with SFX does not aim at optimizing, otherwise it would be a module only , no sound , version, that is existing also in the github

But you have a lot of "nop" in the code and waste cycles and RAM :(

Not talking of agressive optimizations but simple ones like this:

 

store		R3,(R7)
store		R4,(R8)					; stocke le pointeur sample de repeat dans LSP_DSP_PAULA_AUD3L
jump		(R12)				; jump en DSP_LSP_Timer1_skip3
nop

 

It is just a waste of cycles.

 

 

Link to comment
Share on other sites

Or

;--- test instrument voie 0
	movei		#DSP_LSP_Timer1_setIns0,R12
	btst		#9,R2
	jump		ne,(R12)
	nop
	
	movei		#DSP_LSP_Timer1_skip0,R12
	btst		#8,R2
	jump		eq,(R12)
	nop

=>

;--- test instrument voie 0
	movei		#DSP_LSP_Timer1_setIns0,R12
	btst		#9,R2
	jump		ne,(R12)
	btst		#8,R2	
	
	movei		#DSP_LSP_Timer1_skip0,R12
	jump		eq,(R12)
	nop

 

Link to comment
Share on other sites

6 minutes ago, Ericde45 said:

for sure you are right

but this source aimed at beeing understandable by others

even if in fact nobody except CJ is using it :)

 

Me using it ;-)

 

That's why I wrote "non-agressive" optimization. Above is very very calm.

 

 

Link to comment
Share on other sites

you are gaining a little

but for example for the stereo panning version i added 1 imult + 1 sharq per voice, in the I2S interrupt that is run for example 16000 times per second

so gaining a few cycles in the 50 Hz part is very little compared to what is lost for stereo panning.

 

Link to comment
Share on other sites

Not sure what you would gain apart from a potentially higher replay frequency, of which the highest is well above what would be used in a game engine anyway.

 

Time 'lost' on DSP execution 'off the main bus' really offers no improvement to things running on the other processors, as they aren't waiting on the DSP for anything.

Link to comment
Share on other sites

the dsp is also used to make some calculations, to free time from the gpu, for some 3D engines for example.

so gaining dsp time could be interesting if used this way

 

the main optimisation used in lsp is currently the fact that i read samples 4 bytes at a time, and store them in dsp ram. using less central ram readings

  • Like 1
Link to comment
Share on other sites

13 hours ago, Ericde45 said:

the main optimisation used in lsp is currently the fact that i read samples 4 bytes at a time, and store them in dsp ram. using less central ram readings

4 bytes at once?

If I remember correctly the DSP has 16bit data path to the main ram.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...