51 lines
1.6 KiB
C
51 lines
1.6 KiB
C
|
|
||
|
/*
|
||
|
* 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)
|