home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Phoenix Heaven Sunny 2
/
APPARE2.BIN
/
oh_towns
/
taropyon
/
he386
/
ccisrc
/
tg300ds.c
< prev
next >
Wrap
Text File
|
1995-06-20
|
2KB
|
93 lines
/*************************************************************************
* TG300 DRUM SETUP
*************************************************************************/
int Tg300drumBlockOfs[16] =
{
0x10000,0x20000,0x30000,0x40000,0x50000,0x60000,0x70000,0x80000,
0x90000,0x00000,0xA0000,0xB0000,0xC0000,0xD0000,0xE0000,0xF0000
};
/*************************************************************************
* DRUM SETUP PARAMETER
*-------------------------------------------------------------------------
* exTG300_drumSetup(part,note,pitch,fine,leve,pan,rev,cho,var,
* freq,reso,grp,kasn,rxnn,rxoff,atak,dc1,dc2)
*
* part … 1 ~ 16
* note … 27 ~ 88
*
* pitch … 0 ~ 127
* fine … -64 ~ 63
* level … 0~127
* pan … rnd,-63~63
* rev … 0~127
* cho … 0~127
* var … 0~127
* freq … 0~127
* reso … 0~127
* grp … 0~127
* kasn … 0,1
* rxOn … 0,1
* rxOff … 0,1
* atak … 0~127
* dc1 … 0~127
* dc2 … 0~127
*************************************************************************/
int exTG300_drumSetup( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
{
char dat[20];
int part, note;
int pitch, fine, level, grp, pan, rev, cho, kasn;
int rxOff, rxOn, freq, reso, atak, dc1, dc2, var;
if ( argc != 18 )
{
_ERR: MM_setErrMsg(sqr,"TG300 \"DRUM SETUP PARAMETER\" error!");
return(ERR);
}
if ( (part = tg300_getPart(argv[0])) < 0 )
goto _ERR;
note = atoi(argv[1]);
if ( note < 0x1B || note > 0x58 )
goto _ERR;
pitch = atoi(argv[ 2]);
fine = atoi(argv[ 3]) + 0x40;
level = atoi(argv[ 4]);
if ( strcmpi( argv[ 5],"rnd") == 0 )
pan = 0;
else
pan = atoi(argv[ 5]) + 0x40;
rev = atoi(argv[ 6]);
cho = atoi(argv[ 7]);
var = atoi(argv[ 8]);
freq = atoi(argv[ 9]);
reso = atoi(argv[10]);
grp = atoi(argv[11]);
kasn = atoi(argv[12]);
rxOn = atoi(argv[13]);
rxOff = atoi(argv[14]);
atak = atoi(argv[15]);
dc1 = atoi(argv[16]);
dc2 = atoi(argv[17]);
dat[ 0] = pitch;
dat[ 1] = fine;
dat[ 2] = level;
dat[ 3] = grp;
dat[ 4] = pan;
dat[ 5] = rev;
dat[ 6] = cho;
dat[ 7] = kasn;
dat[ 8] = rxOff;
dat[ 9] = rxOn;
dat[10] = freq;
dat[11] = reso;
dat[12] = atak;
dat[13] = dc2;
dat[14] = dc1;
dat[15] = var;
return tg300_genMML( sqr, bufSiz, buf, 0x100000+Tg300drumBlockOfs[part]+(note<<8), 16, dat );
}