[comp.sys.ibm.pc.misc] Are Sound/Game Blaster CM/S chips SAA1099 ones?

mir@opera.chorus.fr (Adam Mirowski) (03/01/91)

As you know if you are a Sound Blaster owner, the card used to be
distributed with 2 "CM/S" chips that provided 12 voice stereo
sound, and which are now optional at about $30.

Through some tests and comparizons between the CM/S chips and SAA 1099
ones manufactured by Compelec/RTC, a French subsidiary (division?) of
Philips, I have come to the conclusion that they could be the same thing.
Their possibilities are the same; the soft PC interface is identical;
the signals available on CM/S sockets correspond to the SAA 1099 ones.
The PC hangs completely when adressing a CM/S port, as it should with
SAA 1099, because SAA confirms every write with a signal (/DTACK), so
probably the PC waits for it to end a bus cycle (even my turbo switch
refuses to operate :-).

I once used a SAA 1099 in a school project, drived by an Intel 8052
micro-controller and saved the docs. Although the project was in 8052
assembly language, at the beginning I have made some test Intel BASIC
programs. Below is an adaptation to GWBASIC of a program that should
produce some notes on the CM/S chips.  Could someone owing them tell me
if it works? If it doesn't, that could be a problem of speaker enable.
It is also possible that the speaker has to be switched between CM/S
and the DSP (providing sampling and FM music). Then the test could be
conducted from windows running some CM/S application in one window
and switching in the middle to another one to run run this program.
The first window should be set to no background execution (on a 386).

The SA? chips series are quite expensive, and SAA 1099 is not very
widely available (not like SAB 0600 :-), so the is no big deal in
looking for it in another place than Creative Labs, but at least
one knows where to look for documentation. I phoned this morning to
Philips/Compelec and they were so kind as to send me two chips as a
sample (I hope they will really do it :-), so they would probably
provide docs for interested people.

Here is the program:

10 REM CMSNOTES.BAS  Test of the first SAA 1099 (alias CM/S) on a Sound Blaster
20 REM Warning: Will COMPLETELY hang your machine in absence of CM/S.
30 REM Adapted from Intel 8052 BASIC (c) Adam Mirowski 1989,1991
40 CMD=&H221: DAT=&H220
50 REM -----    All channels frequency reset
60 OUT CMD,28 : OUT DAT,2
70 REM -----    Reset
80 FOR I=0 TO 31 : OUT CMD,I: OUT DAT,0 : NEXT I
90 REM -----    Amplitudes
100 DATA 0,15,1,15,2,15,3,240,4,240,5,240
130 REM -----   Frequencies
140 DATA 8,&H21,9,&H84,10,&HC0,11,&H21,12,&H84,13,&HC0
170 REM -----   Octaves
180 DATA 16,&H44,17,&H43,18,&H33
190 FOR I=1 TO 15 : READ A,D : OUT CMD,A : OUT DAT,D : NEXT I
200 REM -----   Output enable
210 OUT CMD,28 : OUT DAT,1
220 REM -----   Generators' enable
230 PRINT "Generators started!"
240 OUT CMD,20 : OUT DAT,32+16+8+4+2+1
250 REM -----   Wait loop
260 FOR I = 1 TO 65500!
270 NEXT I
280 REM -----   Generators' reset
290 OUT CMD,28 : OUT DAT,2
300 END

-- 
Adam Mirowski,  mir@chorus.fr (FRANCE),  tel. +33 (1) 30-64-82-00 or 74
Chorus systemes, 6, av.Gustave Eiffel, 78182 Saint-Quentin-en-Yvelines CEDEX