Page 1 of 2

Falcon hardware on a ST.

Posted: Sun Aug 12, 2018 11:37 am
by exxos
There is of course DSP in Falcon, can play tracker tunes using it easily, maybe MP3 even... So thought of placing DSP into ST design.. but what else would be needed.. I mean if a simple Falcon program like "bob tracker" (think it used DSP can't remember) Thought being , aside from TOS404 which probably isn't to backwards compatible, but by how much ?

I mean, assuming software never used 030 instructions, all basic 68000 based, and we have a DSP in a ST, such programs could almost run on a ST ? What else would be needed ?

Of course thinking of re-using some falcon software and hardware in future ST design.. if it can be made to work then saves writing new apps.. Of course DSP is capable of audio decoding so new ST apps could do it anyway but take more time to code.

If idea is likely not easy, then may move away from DSP and go with proper audio decoder such as.. http://www.vlsi.fi/en/products.html
Though not looked much, would prefer parallel interface to CPU, and option for external SRAM like DSP on falcon. Audio circuit needs to really not use CPU time after setup.. so having own SRAM is better option there.. but most ICs now serial and USB etc.. not so easy to interface to CPU then...

Re: Falcon hardware on a ST.

Posted: Sun Aug 12, 2018 11:44 am
by arf
exxos wrote:
Sun Aug 12, 2018 11:37 am
There is of course DSP in Falcon, can play tracker tunes using it easily, maybe MP3 even... So thought of placing DSP into ST design.. but what else would be needed.. I mean if a simple Falcon program like "bob tracker" (think it used DSP can't remember) Thought being , aside from TOS404 which probably isn't to backwards compatible, but by how much ?

I mean, assuming software never used 030 instructions, all basic 68000 based, and we have a DSP in a ST, such programs could almost run on a ST ? What else would be needed ?
A DSP alone in an ST would be IMHO rather ill-placed, as the ST has no DMA sound feature, so all sound must be squeezed through the YM in bad quality, compared to your goal MP3. If you’d go for a STE with DSP – that is close to a Sparrow, an early Falcon prototype. So a DSP alone in an ST wouldn’t allow a single program to be useful, it would require new programming.

And if you plan that – go for something else than a DSP56000, better for a small MIPS or ARM chip, that is way faster and a universal CPU. You could offload LZH or ZIP depacking to the MIPS/ARM, e.g. or SSL handling. A DSP would not be a good idea for that.

Re: Falcon hardware on a ST.

Posted: Sun Aug 12, 2018 12:00 pm
by Steve
Well perhaps he was hoping that some Falcon audio software might just work (by using the same DSP) because the chances of people writing a completely new software range for a booster he produces is slim, if he goes with what you suggested.

Re: Falcon hardware on a ST.

Posted: Sun Aug 12, 2018 12:17 pm
by exxos
The Suska MMU has STE DMA interface built into it... But that may be added into remake project, so I don't want to start over complicating that circuit.

But I was thinking more of not doing DMA at all and offloading the data onto the DSP SRAM like can be done on Falcon. Of course I never use DSP myself so no idea software side of how it all works or exactly what the SRAM is for.

If I had a USB playback decoder, they are really cheap, all the CPU would need to do is press buttons like, play, stop, next etc, easy. But problem is its not ideal to copy sound effects for games (or whatever) over to a USB stick to play sound. Data needs to come from Hard drive, and while it may be a little slower in "setup" time sending data via CPU to the DSP SRAM, The overhead in the software running would be basically be zero as no "DMA RAM access". Of course pros & cons for each I guess.. but not really part of this topic..

There may well be code for playing wav,mod on the Falcon DSP.. if it just uses 68000 functions and DSP, and a ST had the DSP, its almost workable. I mean load the audio into the DSP SRAM, and let it do all the work. No need to clutter main RAM with audio data, just send it all across to the audio circuit and select audio track and play. CPU has almost nothing to do when playing sound that way, and no overhead on ST RAM either.

Of course playing MP3, wav, mod etc are main goals without slowing down CPU or main system RAM. having the audio codec being able to use its own RAM would mean we could load almost any amount of audio data.. but generally devices seem to go for USB as the storage, not really ideal for Atari work.

So if Falcon software isn't even partly portable to a "ST DSP" then new routines will need to be done, takes more time, but in that case, it opens the doors to explore other audio playback devices.

If we can simply let the audio codec do all the work, the CPU sends data to "audio RAM" and CPU only needs to play,stop, select track etc. Would be really easy to add into any software/games etc. again, more like the USB players.. but we need really own audio RAM as storage, and simply program data via CPU... at 50MHz this wouldn't really be a problem anyway. It could also work with stock ST machine, just setup for copying audio data would take a lot longer. Once audio is setup, even ST games could easily have MP3 playback added ..

Re: Falcon hardware on a ST.

Posted: Sun Aug 12, 2018 1:58 pm
by Petari
There is some kind of mixer (crossbar) in Falcon too, for 3 source sound mixing. Indeed better than Microwire in STE . In any case some proper mixer is needed. But I don't think that Falcon DSP is good idea now. SW what uses it will be not ST(E) compatible anyway, so I don't see the point. Better using something newer, what can play even VBR MP3 (not a joke) .

Re: Falcon hardware on a ST.

Posted: Sun Aug 12, 2018 2:43 pm
by Steve
If Chris went with his idea and something other than the DSP, he'd probably have to get some agreements from various software experts to write some plugins for various software that already exists, like the JAM audio player for instance.

Re: Falcon hardware on a ST.

Posted: Sun Aug 12, 2018 4:29 pm
by arf
exxos wrote:
Sun Aug 12, 2018 12:17 pm
But I was thinking more of not doing DMA at all and offloading the data onto the DSP SRAM like can be done on Falcon. Of course I never use DSP myself so no idea software side of how it all works or exactly what the SRAM is for.
Okay, if I get you right, you basically don’t want a coprocessor (in this case a DSP) for the ST, but a from-the-ST-controllable MP3 player. Where the ST’s job would be

* send the MP3 or parts of it over to the device
* controller functions like start, stop, loop

You could hook that one to the printer port or ACSI or ROM port, have a small embedded MP3 player system that that for sure is plentily available, and offer some XBIOS routines to steer it. There is similar stuff for the Amiga, and we wouldn’t need to program the DSP/CPU of that thing. Heck, you could use a Raspberry Pi (Zero), Orange Pi, Banana Pi for that if embedded stuff is too scaring :)

Re: Falcon hardware on a ST.

Posted: Sun Aug 12, 2018 6:18 pm
by exxos
Theres 2 ways to go, basically a DSP same as falcon, may or may not make programming easier. Or new chip just to play MP3.. but more of a problem to get data to a MP3 circuit.

As there is tracker code (not sure any open source but assume tracker example for DSP somewhere) then should't take much to adapt for a ST DSP..

The MP3 method would be simple easy to use, but problem of data transfer.

DSP could do more, has SRAM linked to it, so easy to copy data to it, but more programming involved.

I need to look at more chips, I mean if there was that DSP which was more updated to play MP3 then would be ideal. But needs to be some IC which external RAM.

Of course can still have DMA playback like on STE for wav.. a new wav circuit probably easy to do, really just direct playing from ram to DAC chip. Could do a version easy to replace STE DMA, uses own RAM to hold larger samples.

Re: Falcon hardware on a ST.

Posted: Sun Aug 12, 2018 6:23 pm
by mikro
I agree with others - there's really no point. Having the new ST with a 68030 + Falcon audio system and then ask for the DSP would make much more sense.

I can't imagine one single (existing) application which could take advantage of it -- there's always something else missing to make it work (the 030 CPU, the sound matrix, DMA, ...). And don't forget we're still talking about 100% super clean, XBIOS calling apps.

Also the argument that using some existing DSP mixer code would help with at least future application development doesn't sound convincing to me -- it's magnitudes easier to take some optimised ARM/TI/Atmel code optimised for given DSP and add a thin layer for the ST than to make a former Falcon+DSP code running on ST+same DSP.

Just my two cents.

Re: Falcon hardware on a ST.

Posted: Sun Aug 12, 2018 6:33 pm
by exxos
The Falcon DSP has external RAM, it would be super simple to connect to a ST, can almost put anything on the bus. Question is how much people would be prepared to program for it.

Sure we can have tracker music playing higher quality without any CPU usage, but we don't really have people working on new code. The MP3 method would be easy to patch any games like Peter is doing, with a new sound system. but of course more complicated to include.

I know nothing about ARM or anything, so saying easier, for who ? STF project will have addon cards so people can develop their own sound systems, but we need something easy to integrate and program. All conflicting stuff....