First post, by mkarcher
I'm working on reverse engineering the optional signal processor chip (called ASP = Advanced Signal Processor or CSP = Creative Signal Processor), the CT1748A. I got quite far with it already. It seems the SB16 card I am using is slightly broken, though, most likely inside the ASP. As testbed, I used the DOS tools. I used the most recent SBBASIC, installed the SB CSP upgrade disk over it (it is older and replaces some files by old versions) and finally re-installed SBBASIC over that directory. I encountered the same pattern of working / non-working wave playback in Windows 3.1 and Windows 95.
What works (mostly) fine on that card
- µlaw/alaw playback (mono and stereo)
- ctadpcm playback (mono)
- QSound
What fails (very noisy):
- ctadpcm playback (stereo)
I don't remember the IMA ADPCM results anymore, I would have to recheck them in Windows. The Creative DOS tools do not support IMA ADPCM wave files. I used Sound Blaster 16 Audio Compression Comparison (DOS) as source for wave files. I actually managed to find out what aspect of the CSP misbehaves, and as I also can understand most of the CSP instructions quite good, I could create a modified ctadpcm playback CSP program that works fine on my card.
The ZIP file contains WO0200.bak (the wo0200.csp as shipped by creative labs) and WO0200.CSP (the patched program that works fine on the test card). This file is located in %SOUND%\CSP, and will dynamically be loaded by Creative's PLAY.EXE when a compressed wave file is played. I'm very interested to hear whether the issue I am facing is limited to the test card I have at hand, or whether other cards are affected, too. Thus, I would like to hear reports whether other SB16 ASP owners also face issues with playing back compressed stereo files, and if so, whether my patched program helps (as I only provide WO0200.CSP and not WFM0200A.CSP yet, you can only test in DOS, not in Windows).
Furthermore, detailed documentation for the ST18932 DSP core would be helpful. I already have (and thus don't need pointers to):
- An ST databook containing the full ST18930 datasheet including opcode assignments with all bit patterns.
- The ST18933 datasheet (which refers to the 18932 core datasheet for core details), it has some example code in the appendix. The example codes helps understanding the architecture.
- The ST18940 datasheet (an edition that describes mnemonics and coarse assembler syntax, but doesn't contain the bit assignments).
- A block diagram of the ST18932 core taken from patent US5710934.
- The sound blaster Hardware Programming Guide (it contains moderately helpful block diagrams of the card and the specification highlights of the ASP).
EDIT: A CT2760 with ASP as second card to compare to, as well as PLCC68 sockets are already ordered and should arrive the next days. I should have three ASP-capable cards and two ASP chips if everything arrived.