[BACK]Return to pasreg.h CVS log [TXT][DIR] Up to [local] / sys / dev / isa

Annotation of sys/dev/isa/pasreg.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: pasreg.h,v 1.3 2003/02/11 19:20:27 mickey Exp $       */
        !             2: /*     $NetBSD: pasreg.h,v 1.2 1995/03/15 18:45:58 brezak Exp $        */
        !             3:
        !             4: /* Port addresses and bit fields for the Media Vision Pro AudioSpectrum
        !             5:  * second generation sound cards.
        !             6:  *
        !             7:  * Feel free to use this header file in any application you create that
        !             8:  * has support for the Media Vision Pro AudioSpectrum second generation
        !             9:  * sound cards. Other uses prohibited without prior permission.
        !            10:  *
        !            11:  * - cmetz@thor.tjhsst.edu
        !            12:  *
        !            13:  * Notes:
        !            14:  *
        !            15:  * -   All of these ports go into the MVD101 multimedia controller chip,
        !            16:  *     which then signals the other chips to do the actual work. Many
        !            17:  *     ports like the FM ones functionally attach directly to the
        !            18:  *     destination chip though they don't actually have a direct connection.
        !            19:  * -   The PAS2 series cards have an MVD101 multimedia controller chip,
        !            20:  *     the original PAS cards don't. The original PAS cards are pretty
        !            21:  *     defunct now, so no attempt is made here to support them.
        !            22:  * -   The PAS2 series cards are all really different at the hardware level,
        !            23:  *     though the MVD101 hides some of the incompatibilities, there still
        !            24:  *     are differences that need to be accounted for.
        !            25:  *
        !            26:  *             Card            CD-ROM interface        PCM chip                Mixer chip              FM chip
        !            27:  *             PAS Plus        Sony proprietary        (Crystal?) 8-bit DAC    National                OPL3
        !            28:  *             PAS 16          Zilog SCSI              MVA416 16-bit Codec     MVA508                  OPL3
        !            29:  *             CDPC            Sony proprietary        Sony 16-bit Codec       National                OPL3
        !            30:  *             Fusion CD 16    Sony proprietary        MVA416 16-bit Codec     MVA508                  OPL3
        !            31:  *             Fusion CD       Sony proprietary        (Crystal?) 8-bit DAC    National                OPL3
        !            32:  *
        !            33:  */
        !            34:
        !            35: #define PAS_DEFAULT_BASE               0x388
        !            36:
        !            37: /*      Symbolic Name                  Value              R W  Subsystem       Description                                     */
        !            38: #define SPEAKER_CONTROL                        0x61            /*   W  PC speaker      Control register                                */
        !            39: #define SPEAKER_CONTROL_GHOST          0x738B          /* R W  PC speaker      Control ghost register                          */
        !            40: #define SPEAKER_TIMER_CONTROL          0x43            /*   W  PC speaker      Timer control register                          */
        !            41: #define SPEAKER_TIMER_CONTROL_GHOST    0x778B          /* R W  PC speaker      Timer control register ghost                    */
        !            42: #define SPEAKER_TIMER_DATA             0x42            /*   W  PC speaker      Timer data register                             */
        !            43: #define SPEAKER_TIMER_DATA_GHOST       0x138A          /* R W  PC speaker      Timer data register ghost                       */
        !            44:
        !            45: #define WARM_BOOT                      0x41            /*   W  Control         Used to detect system warm boot                 */
        !            46: #define WARM_BOOT_GHOST                        0x7789          /* ? W  Control         Use to get the card to fake warm boot           */
        !            47: #define MASTER_DECODE                  0x9A01          /*   W  Control         Address >> 2 of card base address               */
        !            48: #define PRESCALE_DIVIDER               0xBF8A          /* R W  PCM             Ration between Codec clock and master clock     */
        !            49: #define WAIT_STATE                     0xBF88          /* R W  Control         Four-bit bus wait-state count (~140ns ea.)      */
        !            50: #define BOARD_REV_ID                   0x2789          /* R    Control         Extended Board Revision ID                      */
        !            51:
        !            52: #define SYSTEM_CONFIGURATION_1         0x8388          /* R W  Control                                                         */
        !            53:        #define S_C_1_PCS_ENABLE        0x01            /* R W  PC speaker      1=enable, 0=disable PC speaker emulation        */
        !            54:        #define S_C_1_PCM_CLOCK_SELECT  0x02            /* R W  PCM             1=14.31818MHz/12, 0=28.224MHz master clock      */
        !            55:        #define S_C_1_FM_EMULATE_CLOCK  0x04            /* R W  FM              1=use 28.224MHz/2, 0=use 14.31818MHz clock      */
        !            56:        #define S_C_1_PCS_STEREO        0x10            /* R W  PC speaker      1=enable PC speaker stereo effect, 0=disable    */
        !            57:        #define S_C_1_PCS_REALSOUND     0x20            /* R W  PC speaker      1=enable RealSound enhancement, 0=disable       */
        !            58:        #define S_C_1_FORCE_EXT_RESET   0x40            /* R W  Control         Force external reset                            */
        !            59:        #define S_C_1_FORCE_INT_RESET   0x80            /* R W  Control         Force internal reset                            */
        !            60: #define SYSTEM_CONFIGURATION_2         0x8389          /* R W  Control                                                         */
        !            61:        #define S_C_2_PCM_OVERSAMPLING  0x03            /* R W  PCM             00=0x, 01=2x, 10=4x, 11=reserved                */
        !            62:        #define S_C_2_PCM_16_BIT        0x04            /* R W  PCM             1=16-bit, 0=8-bit samples                       */
        !            63: #define SYSTEM_CONFIGURATION_3         0x838A          /* R W  Control                                                         */
        !            64:        #define S_C_3_PCM_CLOCK_SELECT  0x02            /* R W  PCM             1=use 1.008MHz clock for PCM, 0=don't           */
        !            65: #define SYSTEM_CONFIGURATION_4         0x838B          /* R W  Control         CD-ROM interface controls                       */
        !            66:
        !            67: #define IO_CONFIGURATION_1             0xF388          /* R W  Control                                                         */
        !            68:        #define I_C_1_BOOT_RESET_ENABLE 0x80            /* R W  Control         1=reset board on warm boot, 0=don't             */
        !            69: #define IO_CONFIGURATION_2             0xF389          /* R W  Control                                                         */
        !            70:        #define I_C_2_PCM_DMA_DISABLED  0x00            /* R W  PCM             PCM DMA disabled                                */
        !            71: #define IO_CONFIGURATION_3             0xF38A          /* R W  Control                                                         */
        !            72:        #define I_C_3_PCM_IRQ_DISABLED  0x00            /* R W  PCM             PCM IRQ disabled                                */
        !            73:
        !            74: #define COMPATIBILITY_ENABLE           0xF788          /* R W  Control                                                         */
        !            75:        #define C_E_MPU401_ENABLE       0x01            /* R W  MIDI            1=enable, 0=disable MPU401 MIDI emulation       */
        !            76:        #define C_E_SB_ENABLE           0x02            /* R W  PCM             1=enable, 0=disable Sound Blaster emulation     */
        !            77:        #define C_E_SB_ACTIVE           0x04            /* R    PCM             "Sound Blaster Interrupt active"                */
        !            78:        #define C_E_MPU401_ACTIVE       0x08            /* R    MIDI            "MPU UART mode active"                          */
        !            79:        #define C_E_PCM_COMPRESSION     0x10            /* R W  PCM             1=enable, 0=disabled compression                */
        !            80: #define EMULATION_ADDRESS              0xF789          /* R W  Control                                                         */
        !            81:        #define E_A_SB_BASE             0x0f            /* R W  PCM             bits A4-A7 for SB base port                     */
        !            82:        #define E_A_MPU401_BASE         0xf0            /* R W  MIDI            bits A4-A7 for MPU401 base port                 */
        !            83: #define EMULATION_CONFIGURATION                0xFB8A          /* R W                  ***** Only valid on newer PAS2 cards (?) *****  */
        !            84:        #define E_C_MPU401_IRQ          0x07            /* R W  MIDI            MPU401 emulation IRQ                            */
        !            85:        #define E_C_SB_IRQ              0x38            /* R W  PCM             SB emulation IRQ                                */
        !            86:        #define E_C_SB_DMA              0xC0            /* R W  PCM             SB emulation DMA                                */
        !            87:
        !            88: #define OPERATION_MODE_1               0xEF8B          /* R    Control                                                         */
        !            89:        #define O_M_1_CDROM_TYPE        0x03            /* R    CD-ROM          3=SCSI, 2=Sony, 0=no CD-ROM interface           */
        !            90:        #define O_M_1_FM_TYPE           0x04            /* R    FM              1=sterero, 0=mono FM chip                       */
        !            91:        #define O_M_1_PCM_TYPE          0x08            /* R    PCM             1=16-bit Codec, 0=8-bit DAC                     */
        !            92: #define OPERATION_MODE_2               0xFF8B          /* R    Control                                                         */
        !            93:        #define O_M_2_PCS_ENABLED       0x02            /* R    PC speaker      PC speaker emulation 1=enabled, 0=disabled      */
        !            94:        #define O_M_2_BUS_TIMING        0x10            /* R    Control         1=AT bus timing, 0=XT bus timing                */
        !            95:        #define O_M_2_BOARD_REVISION    0xe0            /* R    Control         Board revision                                  */
        !            96:
        !            97: #define INTERRUPT_MASK                 0x0B8B          /* R W  Control                                                         */
        !            98:        #define I_M_FM_LEFT_IRQ_ENABLE  0x01            /* R W  FM              Enable FM left interrupt                        */
        !            99:        #define I_M_FM_RIGHT_IRQ_ENABLE 0x02            /* R W  FM              Enable FM right interrupt                       */
        !           100:        #define I_M_PCM_RATE_IRQ_ENABLE 0x04            /* R W  PCM             Enable Sample Rate interrupt                    */
        !           101:        #define I_M_PCM_BUFFER_IRQ_ENABLE 0x08          /* R W  PCM             Enable Sample Buffer interrupt                  */
        !           102:        #define I_M_MIDI_IRQ_ENABLE     0x10            /* R W  MIDI            Enable MIDI interrupt                           */
        !           103:        #define I_M_BOARD_REV           0xE0            /* R    Control         Board revision                                  */
        !           104:
        !           105: #define INTERRUPT_STATUS               0x0B89          /* R W  Control                                                         */
        !           106:        #define I_S_FM_LEFT_IRQ         0x01            /* R W  FM              Left FM Interrupt Pending                       */
        !           107:        #define I_S_FM_RIGHT_IRQ        0x02            /* R W  FM              Right FM Interrupt Pending                      */
        !           108:        #define I_S_PCM_SAMPLE_RATE_IRQ 0x04            /* R W  PCM             Sample Rate Interrupt Pending                   */
        !           109:        #define I_S_PCM_SAMPLE_BUFFER_IRQ 0x08          /* R W  PCM             Sample Buffer Interrupt Pending                 */
        !           110:        #define I_S_MIDI_IRQ            0x10            /* R W  MIDI            MIDI Interrupt Pending                          */
        !           111:        #define I_S_PCM_CHANNEL         0x20            /* R W  PCM             1=right, 0=left                                 */
        !           112:        #define I_S_RESET_ACTIVE        0x40            /* R W  Control         Reset is active (Timed pulse not finished)      */
        !           113:        #define I_S_PCM_CLIPPING        0x80            /* R W  PCM             Clipping has occurred                           */
        !           114:
        !           115: #define FILTER_FREQUENCY               0x0B8A          /* R W  Control                                                         */
        !           116:        #define F_F_FILTER_DISABLED     0x00            /* R W  Mixer           No filter                                       */
        !           117: #if 0
        !           118:        struct {                                        /* R W  Mixer           Filter translation                              */
        !           119:                unsigned int freq:24;
        !           120:                unsigned int value:8;
        !           121:        } F_F_FILTER_translate[] =
        !           122:        { { 73500, 0x01 },      /* 73500Hz - divide by  16 */
        !           123:          { 65333, 0x02 },      /* 65333Hz - divide by  18 */
        !           124:          { 49000, 0x09 },      /* 49000Hz - divide by  24 */
        !           125:          { 36750, 0x11 },      /* 36750Hz - divide by  32 */
        !           126:          { 24500, 0x19 },      /* 24500Hz - divide by  48 */
        !           127:          { 18375, 0x07 },      /* 18375Hz - divide by  64 */
        !           128:          { 12783, 0x0f },      /* 12783Hz - divide by  92 */
        !           129:          { 12250, 0x04 },      /* 12250Hz - divide by  96 */
        !           130:          {  9188, 0x17 },      /*  9188Hz - divide by 128 */
        !           131:          {  6125, 0x1f },      /*  6125Hz - divide by 192 */
        !           132:        };
        !           133: #endif
        !           134:        #define F_F_MIXER_UNMUTE        0x20            /* R W  Mixer           1=disable, 0=enable board mute                  */
        !           135:        #define F_F_PCM_RATE_COUNTER    0x40            /* R W  PCM             1=enable, 0=disable sample rate counter         */
        !           136:        #define F_F_PCM_BUFFER_COUNTER  0x80            /* R W  PCM             1=enable, 0=disable sample buffer counter       */
        !           137:
        !           138: #define PAS_NONE       0
        !           139: #define PAS_PLUS       1
        !           140: #define PAS_CDPC       2
        !           141: #define PAS_16         3
        !           142: #define PAS_16BASIC     4        /* no CDrom */
        !           143:
        !           144: #ifdef DEFINE_TRANSLATIONS
        !           145:        char I_C_2_PCM_DMA_translate[] =                /* R W  PCM             PCM DMA channel value translations              */
        !           146:                        { 4, 1, 2, 3, 0, 5, 6, 7 };
        !           147:        char I_C_3_PCM_IRQ_translate[] =                /* R W  PCM             PCM IRQ level value translation                 */
        !           148:                { 0,  0,  1,  2,  3,  4,  5,  6, 0,  0,  7,  8,  9,  0, 10, 11 };
        !           149:        char E_C_MPU401_IRQ_translate[] =               /* R W  MIDI            MPU401 emulation IRQ value translation          */
        !           150:                { 0x00, 0x00, 0x01, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x05, 0x06, 0x07 };
        !           151:        char E_C_SB_IRQ_translate[] =                   /* R W  PCM             SB emulation IRQ translate                      */
        !           152:                { 0x00, 0x00, 0x08, 0x10, 0x00, 0x18, 0x00, 0x20, 0x00, 0x00, 0x28, 0x30, 0x38 };
        !           153:        char E_C_SB_DMA_translate[] =                   /* R W  PCM             SB emulation DMA translate                      */
        !           154:                { 0x00, 0x40, 0x80, 0xC0 };
        !           155:        char O_M_1_to_card[] =                          /* R W  Control         Translate (OM1 & 0x0f) to card type             */
        !           156:                { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 2, 3 };
        !           157: #else
        !           158:        extern char I_C_2_PCM_DMA_translate[];          /* R W  PCM             PCM DMA channel value translations              */
        !           159:        extern char I_C_3_PCM_IRQ_translate[];          /* R W  PCM             PCM IRQ level value translation                 */
        !           160:        extern char E_C_MPU401_IRQ_translate[];         /* R W  MIDI            MPU401 emulation IRQ value translation          */
        !           161:        extern char E_C_SB_IRQ_translate[];             /* R W  PCM             SB emulation IRQ translate                      */
        !           162:        extern char E_C_SB_DMA_translate[];             /* R W  PCM             SB emulation DMA translate                      */
        !           163:        extern char O_M_1_to_card[];                    /* R W  Control         Translate (OM1 & 0x0f) to card type             */
        !           164: #endif
        !           165:
        !           166: #define PARALLEL_MIXER                 0x078B          /*   W  Mixer           Documented for MVD101 as FM Mono Right decode?? */
        !           167:        #define P_M_MV508_ADDRESS       0x80            /*   W  Mixer           MVD508  Address/mixer select                    */
        !           168:        #define P_M_MV508_DATA          0x00
        !           169:        #define P_M_MV508_LEFT          0x20            /*   W  Mixer           MVD508  Left channel select                     */
        !           170:        #define P_M_MV508_RIGHT         0x40            /*   W  Mixer           MVD508  Right channel select                    */
        !           171:        #define P_M_MV508_BOTH          0x00            /*   W  Mixer           MVD508  Both channel select                     */
        !           172:        #define P_M_MV508_MIXER         0x10            /*   W  Mixer           MVD508  Select a mixer (rather than a volume)   */
        !           173:        #define P_M_MV508_VOLUME        0x00
        !           174:
        !           175:        #define P_M_MV508_INPUTMIX      0x20            /*   W  Mixer           MVD508  Select mixer A                          */
        !           176:        #define P_M_MV508_OUTPUTMIX     0x00            /*   W  Mixer           MVD508  Select mixer B                          */
        !           177:
        !           178:        #define P_M_MV508_MASTER_A      0x01            /*   W  Mixer           MVD508  Master volume control A (output)        */
        !           179:        #define P_M_MV508_MASTER_B      0x02            /*   W  Mixer           MVD508  Master volume control B (DSP input)     */
        !           180:        #define P_M_MV508_BASS          0x03            /*   W  Mixer           MVD508  Bass control                            */
        !           181:        #define P_M_MV508_TREBLE        0x04            /*   W  Mixer           MVD508  Treble control                          */
        !           182:        #define P_M_MV508_MODE          0x05            /*   W  Mixer           MVD508  Master mode control                     */
        !           183:
        !           184:        #define P_M_MV508_LOUDNESS      0x04            /*   W  Mixer           MVD508  Mode control - Loudness filter          */
        !           185:        #define P_M_MV508_ENHANCE_NONE  0x00            /*   W  Mixer           MVD508  Mode control - No stereo enhancement    */
        !           186:        #define P_M_MV508_ENHANCE_40    0x01            /*   W  Mixer           MVD508  Mode control - 40% stereo enhancement   */
        !           187:        #define P_M_MV508_ENHANCE_60    0x02            /*   W  Mixer           MVD508  Mode control - 60% stereo enhancement   */
        !           188:        #define P_M_MV508_ENHANCE_80    0x03            /*   W  Mixer           MVD508  Mode control - 80% stereo enhancement   */
        !           189:
        !           190:        #define P_M_MV508_FM            0x00            /*   W  Mixer           MVD508  Channel 0 - FM                          */
        !           191:        #define P_M_MV508_IMIXER        0x01            /*   W  Mixer           MVD508  Channel 1 - Input mixer (rec monitor)   */
        !           192:        #define P_M_MV508_LINE          0x02            /*   W  Mixer           MVD508  Channel 2 - Line in                     */
        !           193:        #define P_M_MV508_CDROM         0x03            /*   W  Mixer           MVD508  Channel 3 - CD-ROM                      */
        !           194:        #define P_M_MV508_MIC           0x04            /*   W  Mixer           MVD508  Channel 4 - Microphone                  */
        !           195:        #define P_M_MV508_PCM           0x05            /*   W  Mixer           MVD508  Channel 5 - PCM                         */
        !           196:        #define P_M_MV508_SPEAKER       0x06            /*   W  Mixer           MVD508  Channel 6 - PC Speaker                  */
        !           197:        #define P_M_MV508_SB            0x07            /*   W  Mixer           MVD508  Channel 7 - SB DSP                      */
        !           198:
        !           199: #define SERIAL_MIXER                   0xB88           /* R W  Control         Serial mixer control (used other ways)          */
        !           200:        #define S_M_PCM_RESET           0x01            /* R W  PCM             Codec/DSP reset                                 */
        !           201:        #define S_M_FM_RESET            0x02            /* R W  FM              FM chip reset                                   */
        !           202:        #define S_M_SB_RESET            0x04            /* R W  PCM             SB emulation chip reset                         */
        !           203:        #define S_M_MIXER_RESET         0x10            /* R W  Mixer           Mixer chip reset                                */
        !           204:        #define S_M_INTEGRATOR_ENABLE   0x40            /* R W  Speaker         Enable PC speaker integrator (FORCE RealSound)  */
        !           205:
        !           206: #define PCM_CONTROL                    0xF8A           /* R W  PCM             PCM Control Register                            */
        !           207:         #define P_C_MIXER_CROSS_FIELD  0x0f
        !           208:        #define P_C_MIXER_CROSS_R_TO_R  0x01            /* R W  Mixer           Connect Right to Right                          */
        !           209:        #define P_C_MIXER_CROSS_L_TO_R  0x02            /* R W  Mixer           Connect Left  to Right                          */
        !           210:        #define P_C_MIXER_CROSS_R_TO_L  0x04            /* R W  Mixer           Connect Right to Left                           */
        !           211:        #define P_C_MIXER_CROSS_L_TO_L  0x08            /* R W  Mixer           Connect Left  to Left                           */
        !           212:        #define P_C_PCM_DAC_MODE        0x10            /* R W  PCM             Playback (DAC) mode                             */
        !           213:        #define P_C_PCM_ADC_MODE        0x00            /* R W  PCM             Record (ADC) mode                               */
        !           214:        #define P_C_PCM_MONO            0x20            /* R W  PCM             Mono mode                                       */
        !           215:        #define P_C_PCM_STEREO          0x00            /* R W  PCM             Stereo mode                                     */
        !           216:        #define P_C_PCM_ENABLE          0x40            /* R W  PCM             Enable PCM engine                               */
        !           217:        #define P_C_PCM_DMA_ENABLE      0x80            /* R W  PCM             Enable DRQ                                      */
        !           218:
        !           219: #define SAMPLE_COUNTER_CONTROL         0x138B          /* R W  PCM             Sample counter control register                 */
        !           220:        #define S_C_C_SQUARE_WAVE       0x04            /* R W  PCM             Square wave generator (use for sample rate)     */
        !           221:        #define S_C_C_RATE              0x06            /* R W  PCM             Rate generator (use for sample buffer count)    */
        !           222:        #define S_C_C_LSB_THEN_MSB      0x30            /* R W  PCM             Change all 16 bits, LSB first, then MSB         */
        !           223:
        !           224:        /* MVD101 and SDK documentations have S_C_C_SAMPLE_RATE and S_C_C_SAMPLE_BUFFER transposed. Only one works :-) */
        !           225:        #define S_C_C_SAMPLE_RATE       0x00            /* R W  PCM             Select sample rate timer                        */
        !           226:        #define S_C_C_SAMPLE_BUFFER     0x40            /* R W  PCM             Select sample buffer counter                    */
        !           227:
        !           228:        #define S_C_C_PC_SPEAKER        0x80            /* R W  PCM             Select PC speaker counter                       */
        !           229:
        !           230: #define SAMPLE_RATE_TIMER              0x1388          /*   W  PCM             Sample rate timer register (PCM wait interval)  */
        !           231: #define SAMPLE_BUFFER_COUNTER          0x1389          /* R W  PCM             Sample buffer counter (DMA buffer size)         */
        !           232:
        !           233: #define MIDI_CONTROL                   0x178b          /* R W  MIDI            Midi control register                           */
        !           234:        #define M_C_ENA_TSTAMP_IRQ      0x01            /* R W  MIDI            Enable Time Stamp Interrupts                    */
        !           235:        #define M_C_ENA_TME_COMP_IRQ    0x02            /* R W  MIDI            Enable time compare interrupts                  */
        !           236:        #define M_C_ENA_INPUT_IRQ       0x04            /* R W  MIDI            Enable input FIFO interrupts                    */
        !           237:        #define M_C_ENA_OUTPUT_IRQ      0x08            /* R W  MIDI            Enable output FIFO interrupts                   */
        !           238:        #define M_C_ENA_OUTPUT_HALF_IRQ 0x10            /* R W  MIDI            Enable output FIFO half full interrupts         */
        !           239:        #define M_C_RESET_INPUT_FIFO    0x20            /* R W  MIDI            Reset input FIFO pointer                        */
        !           240:        #define M_C_RESET_OUTPUT_FIFO   0x40            /* R W  MIDI            Reset output FIFO pointer                       */
        !           241:        #define M_C_ENA_THRU_MODE       0x80            /* R W  MIDI            Echo input to output (THRU)                     */
        !           242:
        !           243: #define MIDI_STATUS                    0x1B88          /* R W  MIDI            Midi (interrupt) status register                */
        !           244:        #define M_S_TIMESTAMP           0x01            /* R W  MIDI            Midi time stamp interrupt occurred              */
        !           245:        #define M_S_COMPARE             0x02            /* R W  MIDI            Midi compare time interrupt occurred            */
        !           246:        #define M_S_INPUT_AVAIL         0x04            /* R W  MIDI            Midi input data available interrupt occurred    */
        !           247:        #define M_S_OUTPUT_EMPTY        0x08            /* R W  MIDI            Midi output FIFO empty interrupt occurred       */
        !           248:        #define M_S_OUTPUT_HALF_EMPTY   0x10            /* R W  MIDI            Midi output FIFO half empty interrupt occurred  */
        !           249:        #define M_S_INPUT_OVERRUN       0x20            /* R W  MIDI            Midi input overrun error occurred               */
        !           250:        #define M_S_OUTPUT_OVERRUN      0x40            /* R W  MIDI            Midi output overrun error occurred              */
        !           251:        #define M_S_FRAMING_ERROR       0x80            /* R W  MIDI            Midi input framing error occurred               */
        !           252:
        !           253: #define MIDI_FIFO_STATUS               0x1B89          /* R W  MIDI            Midi fifo status                                */
        !           254: #define MIDI_DATA                      0x178A          /* R W  MIDI            Midi data register                              */
        !           255:

CVSweb