•  Back 
  •  Assembler 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help 
  •  Show info about hypertext 
  •  View a new file 
Topic       : Pure Assembler Documentation
Author      : John Kormylo
Version     : PASM.HYP 1.0
Subject     : Documentation/Pure Assembler
Nodes       : 740
Index Size  : 20262
HCP-Version : 3
Compiled on : Atari
@charset    : atarist
@lang       : en
@default    : 
@help       : Help
@options    : +g -i -s +x +z -t4
@width      : 75
View Ref-File[ DMA Sound Chip                       -- STE and TT only -- ]

... produces digitized stereo sound from stored samples in RAM.
There are four permissible sampling rates: 6.15 KHz, 12.5 KHz, 25 Khz,
and 50 KHz.  Each sample is an eight bit value from -128 to +127.

In stereo mode, each word contains two samples, with the upper byte
for the left channel and the lower byte for the right channel.  In
mono mode, each byte is one sample.

A sequence of consecutive samples in RAM is called a frame (which must
start and end on word boundaries).  To play a frame, load the start
and end+2 addresses into the registers (see DMA Sound Control) and
set the Sound Mode Control.  When you write $01 into the Control
Register ($FF8901), the frame will start playing.  If you write $03
into the control register, the frame will repeat until stopped.

The frame complete signal is connected as the external pulse signal
for Timer A on the MFP (see MK68901) which you can use in Event
Count mode to generate an interrupt after a specified number of
repetitions.  Since the DMA registers are double buffered, one can
start writing in new values as soon as it starts its last repetition.

See also LMC1992.