Short: Simple FFT for AMIGA Python Author: LAG (Lincs AMIGA Group) Uploader: wisecracker bazza gmail com (Barry Walker) Type: dev/src Version: 1.10.00 Architecture: generic; m68k-amigaos Distribution: Public Domain. ============================================================================ Architectures: Classic AMIGAs, FS-UAE, Linux-Mint, OSX 10.15.7. --------------------------------------------------------------- MINIMUM Requirements Are:- -------------------------- 1) Amiga environment:- 68030 CPU, MMU and COPRO. 6MB RAM total, OS 3.1.x. (It might work on OS 3.0.x if you are lucky.) FS-UAE. Standard OS 3.1.x install or better. Full Python 2.0.x, minimum, installed, (full install on AMINET). https://aminet.net/package/dev/lang/Python20 (WinUAE has NOT been tested but should work OK.) (I no longer have Windows so this is untested too.) 2) Apple OSX 10.15.x and higher from Python 2.7.x to 3.10.1. 3) Linux Mint, 21.2, Python 2.7.x to 3.8.x. ---------------------------------------------------------------------------- History:- --------- 12-12-2021. ----------- Version 1.10.00. Now works from Python 2.0.x for the AMIGA, AND, as of the release date, to the current version 3.10.1 WITHOUT modification. The FFT core is slightly quicker too. 21-08-2018. ----------- Version 1.00.10. Modified to work on any platform from Python Versions 2.0.x to 3.7.0, (current as of the above date). (DLs as of 11-12-2021, 1634.) 20-07-2017. ----------- Version 1.00.00. Probably the one and only upload for this archive. ---------------------------------------------------------------------------- General:- --------- (Apologies for any typos, etc...) 'FFT_AMIGA.py.txt' This is the simplest implementation of a basic FFT function for the Classic AMIGA. Because the old tub has only got Python 2.0.1 maximum and no 'numpy', 'scipy' or other complex mathematical and scientific libraries at its disposal then after much research, learning and jiggery pokery I came up with this. The ONLY library/modules required is the builtin 'cmath' and 'sys'. No other dependencies or modules are needed at all, just the default Python 2.0.x installation from AMINET. Slowish? Compared to today, yes, but remember, the AMIGA A1200 has not got simple FFT capabilities that it can lay its hands on within an ordinary scripting language. One can adapt C source to handle basic FFT and I tried it but the ease of writing with a scripting language took a hold of me, and this is the result. It is still quite fast though even with its limitations. OK, enough of the waffle. If you are in need of a very basic FFT function just download 'FFT_AMIGA.py.txt' and save it inside your PYTHON: volume. Rename the file to FFT_AMIGA.py and you are ready to roll. From the AMIGA Python20 prompt enter:- >>> execfile("PYTHON:FFT_AMIGA.py") OR... >>> exec(open("PYTHON:FFT_AMIGA.py").read()) For all Python versions. Finally, the code has all the values expected commented out as a comparison for your system and current hardware with their versions of Python. Read the code for more information... Enjoy... Bazza... ---------------------------------------------------------------------------- This archive is issued under the CC0 Licence. Public Domain. ---------------------------------------------------------------------------- IMPORTANT:- ----------- The Legal Stuff:- ----------------- This code is CC0 licenced, that is, Public Domain. The author is not responsible for any damage to, or loss of, or failure of equipment or data caused in any way by the use of this code. There is NO warranty with the use of this software release and YOU USE IT AT YOUR OWN RISK. ---------------------------------------------------------------------------- Testing Evaluation:- -------------------- FS-UAE and Classic AMIGA test conditions were/are running standard OS 3.1.x and using standard ~topaz 8~ fonts throughout. The minimum hardware requirements ARE needed however. I have no idea what strange configuration setups will create so refer to the ~The Legal Stuff~ above. ---------------------------------------------------------------------------- Barry Walker, G0LCU. ---------------------------------------------------------------------------- A very useful HardWare related site, (C) Anthony Hoffman, for modifications, schematics, repairs and the like is:- http://amiga.serveftp.net/ ============================================================================