DSP command |
0xE3 |
Supported on |
Creative Sound Blaster Pro, some clones |
Description |
Ask the DSP for an ASCII copyright string |
How to use
/* NOTE: DSP_Read() in this example returns DSP data byte read OR returns -1 if DSP never signalled any data to read within a timeout */ char tmp[128]; int i=0,c; DSP_Write(0xE3); do { c = DSP_Read(); if (c < 0) break; /* out of data, nothing more to read */ tmp[i++] = c; /* else store the char */ } while (i < 127); tmp[i] = 0; printf("DSP copyright string is '%s'\n",tmp);
Write command 0xE3, then keep reading data until the DSP no longer returns any bytes. The bytes you did read should be stored sequentially in a char[] array, they form an ASCII string with the DSP copyright string. Cards prior to the Sound Blaster Pro do not seem to return a copyright string. Most clones do not return a string, though some instead return their own copyright string or model name.
On clone cards the copyright string can be used to more accurately identify the chip/model of the card.