  | 84181 packages online |
|
 |
| | | | No screenshot available |
|
Mandel_DSP for Amigas with DSP3210 chips
----------------------------------------
This is a Mandelbrot generator for Amigas equipped with a DSP3210 chip. It
is based on "Mandel" by Erik Trulsson using code from ARTABROT for the Mac
by George T Warner. If you use the source code, you need to credit me and the
other two authors in your code.
Implementation on the Amiga with DSP by Wrangler, February 2021
Requirements
------------
AA3000+ with DSP3210 and correct logic chips*
AA3000 original (!)
FPU
* At least two things are required to have a working DSP on the AA3000+:
1. The R_W and RW signals need connecting together, either on the motherboard
or with a patch cables
2. Some tuning of the logic chips is required to get the right speeds of the
logic chips. At the time of writing, there does not appear to be a
combination that works for everyone with every accelerator. If you want a
long read on the subject, take a look at the thread "Die DSP 3210 Software!"
on A1k.org.
With the right tuning, full function of the DSP has been achieved with the
following CPU cards:
- on board 68030
- CSMk2
- CSMk3
- CSPPC
- Warp Engine
- A3640
- A3660
Usage
-----
Use mandel_dsp from the Shell - no other software required
The initial render will be using the FPU
Double click or z to zoom in
Double right click or Z to zoom out
Esc or q to quit
d renders the frame using the DSP
f renders the frame using the FPU
Speed/versions
--------------
V1.61 - proof of concept but slow.
Each pixel's coordinates are passed to the DSP to work on and the CPU waits
until the DSP returns with the result. It works but slow (eg 33 seconds on
DSP for the initial render)
V2.10 - column processing
The CPU provides the coordinates of the first pixel in a column and the CPU
waits for the DSP to return the results for the entire column. Much less
overhead from exchanging data between the two. Initial render now about 14
seconds
V3.00 "nitro" - parallel processing
The DSP code is operating out of its own onboard RAM and the DSP is
processing one column of pixels while the CPU is simultaneously colouring the
previous column on screen. Massive speed up - initial render now 2 seconds.
All timings using a 50MHz 060 accelerator which itself renders in about 9
seconds
V3.12 - split source code
The source code has been split between M68k and DSP3210 code, and between
system files and program code. This is all possible to my new ASM3210 and
elf2exem68k programs - see Aminet for those. It's now MUCH easier to see what
is going on and make changes to the DSP code.
I also took the opportunity to tidy up the code, and unleash the FPU using
native FPU instructions. The 060 FPU and the DSP are now approximately the
same speed at the same clock rate.
Source
------
Held on my github:
https://github.com/Wrangler491/AA3000-DSP/tree/main/Mandel_dsp
|
Contents of gfx/fract/mandel_dsp.lhaPERMISSION UID GID PACKED SIZE RATIO METHOD CRC STAMP NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[generic] 22268 51264 43.4% -lh5- 660f Oct 30 1980 mandel_dsp.exe
[generic] 1567 3201 49.0% -lh5- 9af1 Oct 30 1980 mandel_dsp.readme
---------- ----------- ------- ------- ------ ---------- ------------ ----------
Total 2 files 23835 54465 43.8% Oct 30 23:15
|
|
|
 |
Aminet © 1992-2023 Urban
Müller and
the Aminet team.
Aminet contact address: <aminet aminet net> |