00001 #ifndef __SB_H
00002 #define __SB_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #include "tdef.h"
00042
00043
00044
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048
00049
00050
00051
00052
00053 #define DSP_ERROR 0xFFFF
00054
00055
00056
00057
00058
00059
00060 #define DSP_GET_DOUBLE_RATE
00061
00062
00063
00064
00065
00066 #define DSP_MASK_IRQ_DMA8MIDI 0x01
00067 #define DSP_MASK_IRQ_DMA16 0x02
00068 #define DSP_MASK_IRQ_MPU 0x04
00069
00070
00071
00072
00073
00074
00075 #define SB_DSP_OUTPUT FALSE
00076 #define SB_DSP_INPUT TRUE
00077 #define SB_DSP_SINGLE_CICLE FALSE
00078 #define SB_DSP_AUTO_INIT TRUE
00079 #define SB_DSP_FIFO_OFF FALSE
00080 #define SB_DSP_FIFO_ON TRUE
00081 #define SB_DSP_MONO FALSE
00082 #define SB_DSP_STEREO TRUE
00083 #define SB_DSP_UNSIGNED FALSE
00084 #define SB_DSP_SIGNED TRUE
00085
00086
00087
00088 UINT16 sb_DSP_reset( UINT16 _sb_baseport );
00089 UINT16 sb_DSP_read( UINT16 _sb_baseport );
00090 UINT16 sb_DSP_write( UINT16 _sb_baseport, UINT8 data );
00091 UINT8 sb_IRQ_stat( UINT16 _sb_baseport );
00092 VOID sb_IRQ_ack( UINT16 _sb_baseport );
00093 VOID sb_IRQ_ack_dma8midi( UINT16 _sb_baseport );
00094 VOID sb_IRQ_ack_dma16( UINT16 _sb_baseport );
00095 VOID sb_IRQ_ack_mpu( UINT16 _sb_baseport );
00096 UINT16 sb_DSP_out8( UINT16 _sb_baseport, UINT8 sample_val );
00097 UINT16 sb_DSP_dma_out8_single( UINT16 _sb_baseport, UINT16 samples_less_1 );
00098 UINT16 sb_DSP_dma_out8_auto( UINT16 _sb_baseport );
00099 UINT16 sb_DSP_in8( UINT16 _sb_baseport );
00100 UINT16 sb_DSP_dma_in8_single( UINT16 _sb_baseport, UINT16 samples_less_1 );
00101 UINT16 sb_DSP_dma_in8_auto( UINT16 _sb_baseport );
00102 UINT8 sb_DSP_sr2tc( UINT16 sampling_rate, UINT8 channels );
00103 UINT16 sb_DSP_tc2sr( UINT8 time_constant, UINT8 channels );
00104 #ifdef DSP_GET_DOUBLE_RATE
00105 DOUBLE sb_DSP_tc2dsr( UINT8 time_constant, UINT8 channels );
00106 #endif
00107 UINT16 sb_DSP_tconst( UINT16 _sb_baseport, UINT8 time_constant );
00108 UINT16 sb_DSP_out_rate( UINT16 _sb_baseport, UINT16 sampling_rate );
00109 UINT16 sb_DSP_in_rate( UINT16 _sb_baseport, UINT16 sampling_rate );
00110 UINT16 sb_DSP_blk_size( UINT16 _sb_baseport, UINT16 block_transfer_size_less_1 );
00111 UINT16 sb_DSP_out_silence( UINT16 _sb_baseport, UINT16 samples_less_1 );
00112 UINT16 sb_DSP_dma_out8hs_auto( UINT16 _sb_baseport );
00113 UINT16 sb_DSP_dma_out8hs_single( UINT16 _sb_baseport );
00114 UINT16 sb_DSP_dma_in8hs_auto( UINT16 _sb_baseport );
00115 UINT16 sb_DSP_dma_in8hs_single( UINT16 _sb_baseport );
00116 UINT16 sb_DSP_mono( UINT16 _sb_baseport );
00117 UINT16 sb_DSP_stereo( UINT16 _sb_baseport );
00118 UINT16 sb_DSP_16( UINT16 _sb_baseport, BOOL input, BOOL auto_init,
00119 BOOL fifo, BOOL stereo, BOOL signed_val, UINT16 samples_less_1 );
00120 UINT16 sb_DSP_8( UINT16 _sb_baseport, BOOL input, BOOL auto_init,
00121 BOOL fifo, BOOL stereo, BOOL signed_val, UINT16 samples_less_1 );
00122 UINT16 sb_DSP_8_pause( UINT16 _sb_baseport );
00123 UINT16 sb_DSP_speaker_on( UINT16 _sb_baseport );
00124 UINT16 sb_DSP_speaker_off( UINT16 _sb_baseport );
00125 UINT16 sb_DSP_8_continue( UINT16 _sb_baseport );
00126 UINT16 sb_DSP_16_pause( UINT16 _sb_baseport );
00127 UINT16 sb_DSP_16_continue( UINT16 _sb_baseport );
00128 UINT16 sb_DSP_speaker( UINT16 _sb_baseport );
00129 UINT16 sb_DSP_16_exit( UINT16 _sb_baseport );
00130 UINT16 sb_DSP_8_exit( UINT16 _sb_baseport );
00131 UINT16 sb_DSP_version( UINT16 _sb_baseport );
00132
00133
00134
00135 #ifdef __cplusplus
00136 }
00137 #endif
00138
00139
00140
00141 #endif
00142