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