Cyprian wrote: Sun Apr 26, 2026 9:46 pm
@agranlund wow, DSP is a big step forward. I wonder if the 56001 Falcon's code will be compatible with 56303 or if it requires modifications.
redpixel wrote: Sun Apr 26, 2026 6:25 pm
But given that it says that it's object code compatible with DSP56001 are you hoping for some level of Falcon compatibility still?
good question, but it may be problematic due to the lack of the DMA channels and the Matrix (where DMA channels are routed between RAM/DSP SSI/DAC/ADC/Ext DSP port).
I had a debate in my head around this and eventually comitted to DSP56303 which I
think makes sense after factoring in all the things I could think of.
DSP56301 is arguably better in that it has a full 32bit host interface.
But the existing layout doesn't lend itself to routing a full branch of the entire bus out that side of the board. Should have been designed in from the beginning in that case.
The 8bits required for the DSP56303 host interface was already going out that way for the UART so 56303 (or older) is a good match given it being an incremental update to an existing board.
While the 56303 is object code compatible, I figure being able to run as-is dsp binaries isn't so crucial or even attractive for these reasons:
- to be sure you'd need the same dsp ram amount, layout and shadowing quirks as Falcon also.
- very likely the same cpu-side memory mapping of the DSP as Falcon too, since some host-side code might not go through xbios
- Falcon host-side code that is using the dsp, probably needs a Falcon for reasons other than the DSP also
- Some dsp stuff (probably) relies on exact cpu/dsp relative timing. eg, to push/pull data when stuff is 'known' to be ready on a configuration that is exactly an Atari Falcon, rather than spend cycles asking if things are ready.
- some dsp stuff that makes sense on a 16mhz Falcon stops being attractive on CT60 or similar.
- Falcon DSP code would audio-out in a different way than I would have anyway
So why even the DSP56303 then?
If not binary compatible with existing Falcon DSP binaries then one could argue that a TMS320C DSP with floating point would be a far better choice.
I was considering one of those at first but the following won me back to DSP56xxx
- easy-ish to port existing DSP56001/2 code
- the ability to compile DSP code on the machine itself. this is a big one
-
I have a motorola badge on the chassis - if computer gets a DSP then of course it has to be one from Motorola
Limitiations and such:
- 8bit host port, so a quarter of the bandwidth compared to ram/rom but potentially one less waitstate. still pretty good.
- 384kb DSP ram. I did not bother adding the complexity of being able to make a 96kb memory layout like on Falcon, for most of the reasons above. If you're in the position of being able to port DSP code from source then you wont need that kind of help.
And if you're porting from say, Amiga Delfina (DSP56002) sources, then it's not at all relevant since they use a different memory layout than Falcon anyway.
- DSP56303 is about twice as fast as DSP56001 given the same clock. Has much more fast internal ram and instruction cache.
- input clock is going to be 22.5792Mhz which gives:
~90 Mhz core clock with pll set to x4
~112 Mhz core clock with pll set to x5 (overclocked)
divides down cleanly to the 44.1khz audio family for i2s
It feels like it could be a pretty good matchup with a 100-ish mhz cpu.
Neither too slow nor too fast to make thematically sense.
Personally I'm mostly interested in playing with it for doing 3D transform+lighting while CPU does something else.
And to make audio out of course. Will require some simple DAC board that would plug into one of the ESSI headers.
Or just dupont wires from the header to a breadboard and play with stuff there
