File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -784,12 +784,29 @@ function any_first_digit(base)
784784 return commands ;
785785}
786786
787- // ASP set register
788- register_dsp_command ( [ 0x0E ] , 2 , function ( )
787+ // The CSP/ASP coprocessor is reported absent (as on most real SB16 cards);
788+ // drivers that detect one (e.g. Win9x CSPMAN.DLL) crash programming it.
789+
790+ // ASP set mode register
791+ register_dsp_command ( [ 0x04 ] , 1 ) ;
792+
793+ // ASP set codec parameter
794+ register_dsp_command ( [ 0x05 ] , 2 ) ;
795+
796+ // ASP get version
797+ register_dsp_command ( [ 0x08 ] , 1 , function ( )
789798{
790- this . asp_registers [ this . write_buffer . shift ( ) ] = this . write_buffer . shift ( ) ;
799+ var sub_command = this . write_buffer . shift ( ) ;
800+ if ( sub_command === 0x03 )
801+ {
802+ this . read_buffer . clear ( ) ;
803+ this . read_buffer . push ( 0xFF ) ; // no chip installed
804+ }
791805} ) ;
792806
807+ // ASP set register
808+ register_dsp_command ( [ 0x0E ] , 2 ) ;
809+
793810// ASP get register
794811register_dsp_command ( [ 0x0F ] , 1 , function ( )
795812{
You can’t perform that action at this time.
0 commit comments