|  |  | 
|  | /* | 
|  | * 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) |