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

driver/audio/PreludeAHI.lha

Mirror:Random
Showing:m68k-amigaosgeneric
No screenshot available
Short:AHI driver for Prelude soundcard
Author:Thomas Wenzel, Oliver Gantert
Uploader:Oliver Gantert (prelude olivergantert de)
Type:driver/audio
Version:6.37
Replaces:driver/audio/PreludeAHI.lha
Architecture:m68k-amigaos
Date:2020-10-20
Download:http://aminet.net/driver/audio/PreludeAHI.lha - View contents
Readme:http://aminet.net/driver/audio/PreludeAHI.readme
Downloads:5736

This is an AHI driver for the Prelude Z2, Prelude1200 and Prelude ZII+
soundcard.
To install, just unpack the archive into your SYS: partition or run the
included installer script.

This version was created from the source code of version 6.35, kindly provided
by Thomas Wenzel (www.toms-home.de).
It was adapted to compile with vbcc (originally SAS/C), partially cleaned up,
extended and fixed by Oliver Gantert.

Please note that, although this version is intended to fix bugs, the compiler
change might have introduced new ones that went unnoticed so far. If you
think you found a problem, please try to reproduce that with version 6.35
and email me at the address given in the "Uploader" line of this readme.
Thanks!


Currently available modes are:
-----------------------------
Prelude:HiFi 16 bit stereo     stereo mode using a small buffer and a
                               high priority play/rec softint

Prelude:HiFi 16 bit stereo++   same as above but with panning enabled


For the Arpeggiator module two additional modes are available:
-------------------------------------------------------------
Prelude:HiFi 24 bit stereo     same as 16-bit version but this one
                               makes use of the Arpeggiator's 24-bit
                               capabilities

Prelude:HiFi 24 bit stereo++   same as above but with panning enabled


All modes are AHI-realtime capable!


Minimum processor requirements
------------------------------
General Prelude / Prelude1200 16-bit playback:            68030-25
Arpeggiator 16-bit playback lowlevel-mode (e.g. Play16):  68040-40
Arpeggiator 16-bit playback device-mode (e.g. AmigaAMP):  68060-50
Arpeggiator 24-bit playback, any access mode:             68060-50

68020 is only supported for very fast accelerators, emulation or FPGA CPUs.


Important
---------
Not every input or output can handle every sampling rate and/or resolution.
Here's a table to show which can do what:

     Frequency | Analog | Digital
     ----------+--------+--------
        5510   |    x   |        
        6620   |    x   |        
        8000   |    x   |        
        9600   |    x   |        
       11025   |    x   |        
       16000   |    x   |        
       18900   |    x   |        
       22050   |    x   |        
       27420   |    x   |        
       32000   |    x   |    x   
       33075   |    x   |        
       37800   |    x   |        
       44100   |    x   |    x   
       48000   |    x   |    x   
       54860   |    x   |        
       64000   |    x   |       
       96000   |        |    x

An attempt to use an unsupported sampling rate will result in using the
closest possible instead.

 * Please don't use the 24-bit modes with the normal analog part of the
   Prelude. That part is 16-bit only. It won't do any harm but it would
   be a waste of CPU power.

 * The sampling rate of the analog part is limited to 64 kHz. Higher
   sampling rates can only be used with the Arpeggiator module.


Advanced options
----------------
The following environment variables are for testing and debugging purposes
only. You are not recommended to use these unless you know what you are doing.

   Prelude/AHIAllowVolumeChange
      Allow(1) or disallow(0) AHI to change the output volume. Usually this
      is done by the mixer program, so it defaults to 0.

   Prelude/AHISoftInt
      Enable(1) or disable(0) software interrupts. Defaults to 1.


Legal stuff
-----------
This driver is copyrighted freeware. It may be distributed freely as long
as no modifications are made to the executable and this document. A nominal
fee may be asked to cover distribution costs.

AHI audio system is Copyright ©1994-2005 Martin Blom.


Requirements
------------
A Prelude soundcard, of course :-)
prelude.library V5.6 or higher
AHI audio system V5 or higher
68030-25 CPU or better


This driver has been successfully tested with
---------------------------------------------
AMPlifier 2.34
AmigaAMP 3.28

Versions up to 6.35 were tested with
  AmigaAMP 2.14
  Play16 1.9
  AHIRecorder 1.14
  Shapeshifter 3.7
  HippoPlayer 2.35
  DeliTracker 2.27 with AHI noteplayer 1.8


Revision history
----------------
6.37 - Check if running at least a 68020 CPU
       Compiled the library initialization for 68000 to show a requester
       and notify the user instead of running into illegal opcodes later
     - Removed Prelude hardware detection
       Ask prelude.library what hardware is available
     - Fixed logarithmic volume determination for monitor (Arpeggiator)
       and output volume (AHIAllowVolumeChange option)
     - Replaced Disable()/Enable() calls to only affect EXTER interrupts
     - Removed loading of asl, graphics, utility and expansion libraries
6.36 - Compiled with vbcc 0.9g
     - Complete code refactoring
       Previous versions used SAS/C's automatic library setup.
       This had to be changed for vbcc anyway, so I took the opportunity
       to restructure the code completely and rewrite large portions of it
     - Potential memory leaks fixed
       On most error conditions, the driver would exit without freeing
       previously allocated resources
     - Frequency was not set correctly and always selected 8000Hz
       This bug was especially noticable since WinUAE introduced Prelude
       emulation. The CS4231A's registers were set incorrectly which
       surprisingly worked most of the time with real hardware for years,
       but always failed in emulation
     - Digital output only selectable if Arpeggiator detected
     - 68020 version
       Previous versions were compiled for 68030, but there might be
       faster 68020 accelerators available today or in the future.
     - Supports Prelude ZII+

6.35 - Tested with ahi.device v6
     - Fixed input/output name display
     - Various code cleanups

5.34 - Tested with ahi.device 5.54
     - Re-enabled 24-bit modes under AHI v5

5.33 - Tested with ahi.device 5.42
     - Bumped version number to 5

2.33 - Fixed a bug that caused a crash when switching between analog
       and digital inputs
     - Realtime mixing buffer size had to be reduced to better match
       Prelude's and Arpeggiator's FIFO sizes

2.32 - Implemented Arpeggiator Digital Audio I/O support with up to
       24 bit / 96 kHz
     - Some minor speed improvements

2.31 - The driver now keeps its fingers off the main (hardware) playback
       volume setting. That's the task of the mixer!

2.30 - Fixed some startup bugs causing trouble if the hardware
       was already in use

2.29 - Fixed a bug in the Prelude1200 recording routine
     - Removed the non-realtime modes

2.28 - Added support for the new Prelude1200 soundcard

2.27 - For Your Ears Only, two new frequencies: 54.86 kHz and 64 kHz!

2.26 - Configurable IRQ data transfer size (prelude.library 2.41 and up)

2.25 - Added HiFi modes
       Better calibration and offset correction for recording

2.24 - Split up the Mic input into MicLo and MicHi. Both are physically
       the same input but MicHi has extra 20dB gain. (Mic pre-amplifier)

2.23 - Trying to open the driver without a Prelude present lead to crashes.
       Fixed.

2.22 - Oops! Fullduplex didn't work. Sorry, now it's fixed!

2.21 - Changed buffering scheme to work better with AHI V3
     - Full cooperation with prelude.library
     - Now using a UserTag to distinguish between realtime and non-realtime:
       AHIDB_UserBase+0; TRUE means realtime.

2.20 - Further speed optimizations
     - Enabled auto calibration each time the hardware is allocated

2.19 - Fixed a bug that could lead to hangups during initialisation
     - Minor speed improvements

2.18 - AHI_GetAudioAttrs() returned incorrect value for
       AHIDB_MaxRecordSamples. Fixed.
     - Recording function now makes use of a soft interrupt, too.

2.17 - First public release


Contents of driver/audio/PreludeAHI.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                  823    1262  65.2% -lh5- 2984 Aug 13  2003 PreludeAHI.info
[unknown]                 5362    9276  57.8% -lh5- 574e Oct 20 17:08 PreludeAHI/devs/AHI/prelude.audio
[unknown]                  146     448  32.6% -lh5- 267b Oct 20 17:08 PreludeAHI/devs/AudioModes/PRELUDE
[unknown]                  258     481  53.6% -lh5- b10c Jan 16  2007 PreludeAHI/Install PreludeAHI
[unknown]                  955    1670  57.2% -lh5- d06e Aug 13  2003 PreludeAHI/Install PreludeAHI.info
[unknown]                 3462    8120  42.6% -lh5- 0a57 Oct 20 17:03 PreludeAHI/PreludeAHI.readme
[unknown]                 1073    2692  39.9% -lh5- a509 Aug 13  2003 PreludeAHI/PreludeAHI.readme.info
[unknown]                   76     107  71.0% -lh5- 99dc Feb  6  1999 PreludeAHI/Refresh
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         8 files   12155   24056  50.5%            Oct 21 00:01

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