Short: Interrupt related event lib/sound record Author: Joerg van de Loo Uploader: joergloo aol com Type: util/libs Version: 3.17 Replaces: util/libs/IREdev.lha Requires: 68020+ CPU Architecture: m68k-amigaos >= 3.0.0 Introduction: This library is a trash-product of a problem definition which was described in a German-speaking forum. This library was intentionally created to support high-level languages, such as BASIC, which can not natively deal with interrupts, in contrast to low-level languages, like C or assembler, where you can do it on your own in case you have the needed knowledge. IRE library is designed for Classic Amigas and not for AROS/MorphOS/OS4 - although on MorphOS/OS4 it could be used if you don't need more than 60 calls per second (interruptions) - but this is completely untested and I guess that the low-level library suits better in order to generate interrupts on these systems. On Classics using a 68060/50 MHz CPU you can specify up to 40 thousand calls per second but that would lead to entirely slow down the whole machine. In addition, on Classics you can digitize via a digitizer at the parallel port audio tracks (8-bit mono). With that, there is a built-in digitizer for those who need it. Furthermore this sound recorder outputs what it fetches. You may also digitize 16 bits of audio signals (interpolated; built-in) and suppress the 8-bit output. In that case you'll need to provide your own routines for outputting the recorded audio signals - for example using AHI. IRE library offers two types of interrupts: A timer-device related interrupt that can be called upto 60 times per second and a CIA hardware timer with the possibility to create interruptions upto 40 thousand times per second. Four bug fixes applied to this version: ---------------------------------------- Using TOGGLE_MAKE_AUDIBLE during the interrupt is active doesn't lead anymore to crash the entire system. Solved all Enforcer-hits - which surfaced in case a resource could not be procured. The parallel port is now correctly unlocked - even if other resources could not be obtained during the initialization (in that case InitIRQ() comes back with an iHandle of zero). A memory leak has been fixed; in previous version each unsuccessful call to InitIRQ() caused 40 bytes of memory to lose. Improvements: ------------- In earlier versions you could only choose 6000 Hz for the sound recording using a 68030/50 MHz CPU without freezing the system - this versions allows now the double amount. NOTE: ----- In case you incorporate assember-code in your MBasic/HBasic program you have to use CacheClearE() - otherwise you'll be faced with crashes. Source codes: ------------- I revised the complete source code by using exclusively the English language and with that now the source code of this library is available as independent archive (Aminet dev/c/IREsrc.lha).