💾 Archived View for cugi.ie › aminet › 1691889605.gmi captured on 2024-05-12 at 15:52:16. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-09-08)

-=-=-=-=-=-=-

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
   Readme:       http://aminet.net/gfx/fract/mandel_dsp.readme
   Downloads:    562

http://aminet.net/gfx/fract/mandel_dsp.lha

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-2023 Urban Müller and the Aminet team. Aminet contact address: <aminet aminet net>