Background Music for the Atari STE
By Paul Lay, January 1991
Background
----------
The Atari STE computers support the replay of mono or stereo digitized
sound via DMA. This means that digitized sound can be output without
using the 68000 processor. Additionally, a replay mode is provided such
that a frame of samples is repeated forever.
This Program
------------
This program will load in samples from the file 'SAMPLE.SPL', start
replaying this file and then return to the desktop. You can then run
applications as normal with digitized music playing in the background!
At the moment I have Cat Stevens playing whilst writing this using
the Hisoft Devpac editor.
Sampling and Other Complex Bits
-------------------------------
I hope I don't get sued for the samples included on this disk (although
I'd be into any form of torture Stevie Nicks might want to inflict
upon me!). This program is public domain and I would hope the artists
in question regard this as free advertising.
The actual sampling is mono at 6.25KHz using 2 Bit Systems Replay.
Unfortunately the STE supports fixed frequencies of 6.25KHz, 12.5KHz,
25KHz and 50KHz while Replay supports 5KHz, 7.5KHz, 10KHz, 20KHz and
31KHz. So I had to hack Replay to allow it to work at 6.25KHz (simply
involved changing the values written to the timer).
Also, just to make things that little bit more tricky, the STE regards
samples as a twos-compliment signed 8-bit value, whilst Replay seems to
use an unsigned 8-bit value. Hence, when this program loads in the
samples it subtracts #$80 from each in order to convert from Replay
format to that needed by the STE hardware.
Restrictions
------------
This program will not run if DMA sound is not supported on your machine
(hence it will not run on a ST), if the size of the sample file exceeds
the amount of free memory available to GEM, or this program has already
been installed. In all circumstances, an appropriate message is
displayed. Obviously once the music is playing there is less available
free memory - hence you may find some programs will not run because of
this.