number 0.
.SH DESCRIPTION
The Motorola DSP56001 is a fully programmable 24-bit digital signal
-processor found in Atari Falcon030-compatible computers. The
-\fBdsp56k\fP special file is used to control the DSP56001, and
+processor found in Atari Falcon030-compatible computers.
+The \fBdsp56k\fP special file is used to control the DSP56001, and
to send and receive data using the bi-directional handshaked host
port.
.PP
-To send a data stream to the signal processor, use
-.BR write ()
+To send a data stream to the signal processor, use
+.BR write ()
to the
-device, and
-.BR read ()
-to receive processed data. The data can be sent or
+device, and
+.BR read ()
+to receive processed data.
+The data can be sent or
received in 8, 16, 24, or 32-bit quantities on the host side, but will
always be seen as 24-bit quantities in the DSP56001.
.PP
calls are used to control the
\fBdsp56k\fP device:
.IP \fBDSP56K_UPLOAD\fP
-resets the DSP56001 and uploads a program. The third
-.BR ioctl ()
+resets the DSP56001 and uploads a program.
+The third
+.BR ioctl ()
argument must be a pointer to a \fBstruct dsp56k_binary\fP with members
\fBbin\fP pointing to a DSP56001 binary program, and \fBlen\fP set to
the length of the program, counted in 24-bit words.
.IP \fBDSP56K_SET_TX_WSIZE\fP
-sets the transmit word size. Allowed values are in the range 1 to 4,
+sets the transmit word size.
+Allowed values are in the range 1 to 4,
and is the number of bytes that will be sent at a time to the
-DSP56001. These data quantities will either be padded with zero
+DSP56001.
+These data quantities will either be padded with zero
bytes, or truncated to fit the native 24-bit data format of the
DSP56001.
.IP \fBDSP56K_SET_RX_WSIZE\fP
-sets the receive word size. Allowed values are in the range 1 to 4,
+sets the receive word size.
+Allowed values are in the range 1 to 4,
and is the number of bytes that will be received at a time from the
-DSP56001. These data quantities will either truncated, or padded with
+DSP56001.
+These data quantities will either truncated, or padded with
a null byte ('\\0') to fit the native 24-bit data format of the DSP56001.
.IP \fBDSP56K_HOST_FLAGS\fP
-read and write the host flags. The host flags are four
+read and write the host flags.
+The host flags are four
general-purpose bits that can be read by both the hosting computer and
-the DSP56001. Bits 0 and 1 can be written by the host, and bits 2 and
+the DSP56001.
+Bits 0 and 1 can be written by the host, and bits 2 and
3 can be written by the DSP56001.
-To access the host flags, the third
-.BR ioctl ()
+To access the host flags, the third
+.BR ioctl ()
argument must be a pointer
-to a \fBstruct dsp56k_host_flags\fP. If bit 0 or 1 is set in the
+to a \fBstruct dsp56k_host_flags\fP.
+If bit 0 or 1 is set in the
\fBdir\fP member, the corresponding bit in \fBout\fP will be written
-to the host flags. The state of all host flags will be returned in
+to the host flags.
+The state of all host flags will be returned in
the lower four bits of the \fBstatus\fP member.
.IP \fBDSP56K_HOST_CMD\fP
-sends a host command. Allowed values are in the range 0 to 31, and is a
+sends a host command.
+Allowed values are in the range 0 to 31, and is a
user-defined command handled by the program running in the DSP56001.
.SH FILES
/dev/dsp56k