/* * I/O addresses */ #define u_Base (gus_base + 0x000) #define u_Mixer u_Base #define u_Status (gus_base + 0x006) #define u_TimerControl (gus_base + 0x008) #define u_TimerData (gus_base + 0x009) #define u_IRQDMAControl (gus_base + 0x00b) #define u_MidiControl (gus_base + 0x100) #define MIDI_RESET 0x03 #define MIDI_ENABLE_XMIT 0x20 #define MIDI_ENABLE_RCV 0x80 #define u_MidiStatus u_MidiControl #define MIDI_RCV_FULL 0x01 #define MIDI_XMIT_EMPTY 0x02 #define MIDI_FRAME_ERR 0x10 #define MIDI_OVERRUN 0x20 #define MIDI_IRQ_PEND 0x80 #define u_MidiData (gus_base + 0x101) #define u_Voice (gus_base + 0x102) #define u_Command (gus_base + 0x103) #define u_DataLo (gus_base + 0x104) #define u_DataHi (gus_base + 0x105) #define u_MixData (gus_base + 0x106) /* Rev. 3.7+ mixing */ #define u_MixSelect (gus_base + 0x506) /* registers. */ #define u_IrqStatus u_Status # define MIDI_TX_IRQ 0x01 /* pending MIDI xmit IRQ */ # define MIDI_RX_IRQ 0x02 /* pending MIDI recv IRQ */ # define GF1_TIMER1_IRQ 0x04 /* general purpose timer */ # define GF1_TIMER2_IRQ 0x08 /* general purpose timer */ # define WAVETABLE_IRQ 0x20 /* pending wavetable IRQ */ # define ENVELOPE_IRQ 0x40 /* pending volume envelope IRQ */ # define DMA_TC_IRQ 0x80 /* pending dma tc IRQ */ #define ICS2101 1 # define ICS_MIXDEVS 6 # define DEV_MIC 0 # define DEV_LINE 1 # define DEV_CD 2 # define DEV_GF1 3 # define DEV_UNUSED 4 # define DEV_VOL 5 # define CHN_LEFT 0 # define CHN_RIGHT 1 #define CS4231 2 #define u_DRAMIO (gus_base + 0x107)