THE CURE
by saimo/RETREAM
Amiga AGA 68030 demo
v1.7 (7.8.2024)
* Removed history from manual.
v1.7 (30.7.2024)
* Made startup code more robust and faster.
v1.6 (28.4.2024)
* Improved music S/N ratio by eliminating 29 peaks and re-normalizing the
waveform.
* Removed some useless operations from cleanup code.
v1.5 (2.1.2024)
* Improved CPU data cache handling on 68040 and 68060.
* Ensured the system MMU setup does not affect performance.
* Ensured the 68060 susperscalar dispatch is enabled.
* Made some small optimizations.
* Made startup and cleanup code more robust.
v1.4 (23.3.2023)
* Improved documentation.
v1.4 (31.7.2022)
* Improved documentation.
v1.4 (29.4.2022)
* Improved music:
* improved S/N ratio by eliminating a peak (caused by the "str" of "street"
in the spoken part) and re-normalizing the waveform;
* amplified initial part a little bit;
* reduced greatly the noise that affected the coda (due to the 8-bit
quantization) by amplifying that part of the waveform to the maximum and
balancing that with a real-time volume change;
* increased sampling frequency to 29073 Hz (side effects: channels 2 and 3
can no longer be used, so the output volume is lower; music decoding takes
a little longer as there is more data to decode each frame; the CHIP bus
time taken by audio DMA is almost halved, which makes the demo less
demanding).
* Added switch-off of filter to ensure music sounds as it is supposed to.
* Fixed audio-to-video synchronization:
* fixed drifting caused by the difference between the actual and theoretical
rates (~49.92 VS 50 Hz) of the video refresh (that, by the end of the demo,
caused an asynchronism of ~0.5 s);
* fixed 60 ms asynchronism caused by the fact that the first three frames
required for music setup/buffering were ignored;
* fixed a few timing marks in the script (an off-by-one mark which caused a
peak of operations in the specified frame; a mark that caused the following
effect to execute 4 frames too late; a few marks that were off by a frame).
* Fixed a bad routine pointer (caused by a wrong letter in a label in the source
code; it is quite incredible that this did not produce disastrous results).
* Added some palette effects.
* Optimized music decoding by unpacking and undeltaing data at the same time
(why it was not like this right from the beginning is a mistery).
* Made some other small optimizations.
* Made startup and cleanup code more robust by shielding some critical
operations from NMIs and by dealing with audio playback performed with direct
hardware access by other programs concurrently.
* Added version string.
* Improved/extended documentation.
v1.3 (19.8.2021)
* Fixed recently-introduced memory leak in startup code.
* Replaced unreliable CIA-access-based delay code at startup with machine-
agnostic code.
* Made a couple of minor internal changes.
v1.2 (4.8.2021)
* Made startup and cleanup code more robust.
* Made a few tiny optimizations.
v1.1 (2.6.2021)
* Made startup and cleanup code more robust.
* Fixed (unlikely) memory leak in cleanup code.
* Replaced "actual" with "current" in standings graphics.
* Fixed/improved documentation.
v1.0 (11.7.2020)
* First release.