Topic : The ATARI Compendium
Author : Scott Sanders / JAY Software
Version : 1.25 (20/6/2003)
Subject : Documentation
Nodes : 1117
Index Size : 32614
HCP-Version : 6
Compiled on : Atari
@charset : UTF-8
@lang : en
@default :
@help : %About
@options : +g -i -t4 +y +z
@width : 100
View Ref-FileDsp_MultBlocks() XBIOSSyntaxVOID Dsp_MultBlocks( numsend, numreceive, sendblks, receiveblks )
LONG numsend, numreceive;
DSPBLOCK *sendblks, *receiveblks;
Function Dsp_MultBlocks() transmit and receive multiple blocks of DSP data of varying size.
Opcode 127 (0x7F)
Availability Available only when bit #3 of the '_SND' cookie is set.
Parameters numsend and numreceive indicate the number of blocks of DSP data to send and receive respectively. sendblks and
receiveblks are both pointers to arrays of type DSPBLOCK which contain information for each block. DSPBLOCK is
defined as follows:
typedef struct
{
#define BLOCK_LONG 0
#define BLOCK_WORD 1
#define BLOCK_UBYTE 2
/* 0 = LONGs, 1 = WORDs, 2 = UBYTEs */
WORD blocktype;
/* Num elements in block */
LONG blocksize;
/* Start address of block */
VOIDP blockaddr;
} DSPBLOCK;
Binding pea receiveblks
pea sendblks
move.l numreceive,-(sp)
move.l numsend,-(sp)
move.w #$7F,-(sp)
trap #14
lea 18(sp),sp
Caveats No handshaking is performed with this call. To transfer
blocks with handshaking use Dsp_BlkHandShake().