AminetAminet
Search:
83548 packages online
About
Recent
Browse
Search
Upload
Setup
Services

gfx/fract/mandel_dsp.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Mandelbrot generator for DSP3210 chips
Author:wrangler491_at_gmail_dot_com
Uploader:Wrangler491 gmail com
Type:gfx/fract
Version:3.00 "nitro"
Architecture:m68k-amigaos >= 3.0
Distribution:Aminet
Kurz:Mandelbrot-Generator fuer DSP3210-Chips
Date:2021-03-09
Download:http://aminet.net/gfx/fract/mandel_dsp.lha - View contents
Readme:http://aminet.net/gfx/fract/mandel_dsp.readme
Downloads:252

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.  

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

Source
------

Held on my github: 
https://github.com/Wrangler491/AA3000-DSP/tree/main/Mandel_dsp


Contents of gfx/fract/mandel_dsp.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[generic]                49022   93972  52.2% -lh5- 52b2 Feb 27  1980 mandel_dsp
[generic]                 1285    2592  49.6% -lh5- 2a5f Mar  6  1980 mandel_dsp.readme
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         2 files   50307   96564  52.1%            Mar 10 05:31

Aminet © 1992-2021 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>