AminetAminet
Search:
84450 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.15
Replaces:gfx/fract/mandel_dsp.lha
Architecture:m68k-amigaos >= 3.0
Distribution:Aminet
Kurz:Mandelbrot-Generator fuer DSP3210-Chips
Date:2023-08-12
Download:http://aminet.net/gfx/fract/mandel_dsp.lha - View contents
Readme:http://aminet.net/gfx/fract/mandel_dsp.readme
Downloads:700

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 July 2023

Requirements
------------

AA3000+ with working DSP3210 } for DSP rendering
AA3000 original (!)          }
Any Amiga with an FPU for FPU-only rendering

Usage
-----

Use mandel_dsp.exe from the Shell
For full usage use mandel_dsp.exe -h

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.

V3.15 - window mode
Mandel_dsp now renders to windows on the Workbench screen as long as the 
screen depth is at least 4 bits.  Access this by:
mandel_dsp.exe -window

Amigas without DSPs now supported with FPU-only rendering

The DSP code for the Mandelbrots has been completely rewritten and optimised
giving a nice speed up

Automated running implemented - see usage for instructions

Source to V3.12
---------------

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
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                19699   48800  40.4% -lh5- 0e41 Aug 12 21:01 mandel_dsp.exe
[unknown]                 1361    2841  47.9% -lh5- 6bf1 Aug 12 21:01 mandel_dsp.readme
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         2 files   21060   51641  40.8%            Aug 13 01:20

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