summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/sound/iwdefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/isa/sound/iwdefs.h')
-rw-r--r--sys/i386/isa/sound/iwdefs.h712
1 files changed, 0 insertions, 712 deletions
diff --git a/sys/i386/isa/sound/iwdefs.h b/sys/i386/isa/sound/iwdefs.h
deleted file mode 100644
index 60f50fc..0000000
--- a/sys/i386/isa/sound/iwdefs.h
+++ /dev/null
@@ -1,712 +0,0 @@
-/*#######################################################################*/
-/* FILE : iwdefs.h*/
-/**/
-/* REMARKS: This file contains all defines used by DDK functions. It*/
-/* should be included by all applications and should be*/
-/* referenced by programmers to make their code easy to read*/
-/* and understand.*/
-/**/
-/* UPDATE: 3/21/95*/
-/* 7/10/95 --- added #def DRAM_HOLES*/
-/*#######################################################################*/
-#ifndef IWDEFS
-#define IWDEFS
-/*#######################################################################*/
-/**/
-/* Macros for use in loading Synth Addr Regs*/
-/**/
-/*#######################################################################*/
-#define ADDR_HIGH(x) (short)(x>>7)
-#define ADDR_LOW(x) (short)(x<<9)
-/*#######################################################################*/
-/**/
-/* Defines for DMA Controllers*/
-/**/
-/*#######################################################################*/
-/* DMA Controler #1 (8-bit controller) */
-#define DMA1_STAT 0x08 /* read status register */
-#define DMA1_WCMD 0x08 /* write command register */
-#define DMA1_WREQ 0x09 /* write request register */
-#define DMA1_SNGL 0x0A /* write single bit register */
-#define DMA1_MODE 0x0B /* write mode register */
-#define DMA1_CLRFF 0x0C /* clear byte ptr flip/flop */
-#define DMA1_MCLR 0x0D /* master clear register */
-#define DMA1_CLRM 0x0E /* clear mask register */
-#define DMA1_WRTALL 0x0F /* write all mask register */
-
-/* DMA Controler #2 (16-bit controller) */
-#define DMA2_STAT 0xD0 /* read status register */
-#define DMA2_WCMD 0xD0 /* write command register */
-#define DMA2_WREQ 0xD2 /* write request register */
-#define DMA2_SNGL 0xD4 /* write single bit register */
-#define DMA2_MODE 0xD6 /* write mode register */
-#define DMA2_CLRFF 0xD8 /* clear byte ptr flip/flop */
-#define DMA2_MCLR 0xDA /* master clear register */
-#define DMA2_CLRM 0xDC /* clear mask register */
-#define DMA2_WRTALL 0xDE /* write all mask register */
-
-#define DMA0_ADDR 0x00 /* chan 0 base adddress */
-#define DMA0_CNT 0x01 /* chan 0 base count */
-#define DMA1_ADDR 0x02 /* chan 1 base adddress */
-#define DMA1_CNT 0x03 /* chan 1 base count */
-#define DMA2_ADDR 0x04 /* chan 2 base adddress */
-#define DMA2_CNT 0x05 /* chan 2 base count */
-#define DMA3_ADDR 0x06 /* chan 3 base adddress */
-#define DMA3_CNT 0x07 /* chan 3 base count */
-#define DMA4_ADDR 0xC0 /* chan 4 base adddress */
-#define DMA4_CNT 0xC2 /* chan 4 base count */
-#define DMA5_ADDR 0xC4 /* chan 5 base adddress */
-#define DMA5_CNT 0xC6 /* chan 5 base count */
-#define DMA6_ADDR 0xC8 /* chan 6 base adddress */
-#define DMA6_CNT 0xCA /* chan 6 base count */
-#define DMA7_ADDR 0xCC /* chan 7 base adddress */
-#define DMA7_CNT 0xCE /* chan 7 base count */
-
-#define DMA0_PAGE 0x87 /* chan 0 page register (refresh)*/
-#define DMA1_PAGE 0x83 /* chan 1 page register */
-#define DMA2_PAGE 0x81 /* chan 2 page register */
-#define DMA3_PAGE 0x82 /* chan 3 page register */
-#define DMA4_PAGE 0x8F /* chan 4 page register (unusable)*/
-#define DMA5_PAGE 0x8B /* chan 5 page register */
-#define DMA6_PAGE 0x89 /* chan 6 page register */
-#define DMA7_PAGE 0x8A /* chan 7 page register */
-/*#######################################################################*/
-/**/
-/* Defines for register UISR (Interrupt Status)*/
-/**/
-/*#######################################################################*/
-#define MIDI_TX_IRQ 0x01
-#define MIDI_RX_IRQ 0x02
-#define ALIB_TIMER1_IRQ 0x04
-#define ALIB_TIMER2_IRQ 0x08
-#define _UASBCI 0x45 /* UASBCI index */
-#define SAMPLE_CONTROL 0x49 /* Not used by IW */
-#define SET_VOICES 0x0E
-#define WAVETABLE_IRQ 0x20
-#define ENVELOPE_IRQ 0x40
-#define DMA_TC_IRQ 0x80
-/*#######################################################################*/
-/**/
-/* Synthesizer-related defines*/
-/**/
-/*#######################################################################*/
-#define GEN_INDEX 0x03 /* IGIDX offset into p3xr */
-#define VOICE_SELECT 0x02 /* SVSR offset into p3xr */
-#define VOICE_IRQS 0x8F /* SVII index (read) */
-#define _URSTI 0x4C /* URSTI index */
-#define GF1_SET 0x01 /* URSTI[0] */
-#define GF1_OUT_ENABLE 0x02 /* URSTI[1] */
-#define GF1_IRQ_ENABLE 0x04 /* URSTI[2] */
-#define GF1_RESET 0xFE /* URSTI[0]=0 */
-#define VOICE_VOLUME_IRQ 0x04 /* SVII[2] */
-#define VOICE_WAVE_IRQ 0x08 /* SVII[3] */
-#define VC_IRQ_ENABLE 0x20 /* SACI[5] or SVCI[5]*/
-#define VOICE_NUMBER 0x1F /* Mask for SVII[4:0] */
-#define VC_IRQ_PENDING 0x80 /* SACI[7] or SVCI[7] */
-#define VC_DIRECT 0x40 /* SACI[6] or SVCI[6]*/
-#define VC_DATA_WIDTH 0x04 /* SACI[2] */
-#define VOICE_STOP 0x02 /* SACI[1] */
-#define VOICE_STOPPED 0x01 /* SACI[0] */
-#define VOLUME_STOP 0x02 /* SVCI[1] */
-#define VOLUME_STOPPED 0x01 /* SVCI[0] */
-#define VC_ROLLOVER 0x04 /* SVCI[2] */
-#define VC_LOOP_ENABLE 0x08 /* SVCI[3] or SACI[3]*/
-#define VC_BI_LOOP 0x10 /* SVCI[4] or SACI[4]*/
-#define VOICE_OFFSET 0x20 /* SMSI[5] */
-#define VOLUME_RATE0 0x00 /* SVRI[7:6]=(0,0) */
-#define VOLUME_RATE1 0x40 /* SVRI[7:6]=(0,1) */
-#define VOLUME_RATE2 0x80 /* SVRI[7:6]=(1,0) */
-#define VOLUME_RATE3 0xC0 /* SVRI[7:6]=(1,1) */
-/*#######################################################################*/
-/**/
-/* Power-Mode Control Defines*/
-/**/
-/*#######################################################################*/
-#define SHUT_DOWN 0x7E /* shuts InterWave down */
-#define POWER_UP 0xFE /* enables all modules */
-#define CODEC_PWR_UP 0x81 /* enables Codec Analog Ckts */
-#define CODEC_PWR_DOWN 0x01 /* disables Codec Analog Ckts */
-#define CODEC_REC_UP 0x82 /* Enables Record Path */
-#define CODEC_REC_DOWN 0x02 /* Disables Record Path */
-#define CODEC_PLAY_UP 0x84 /* Enables Playback Path */
-#define CODEC_PLAY_DOWN 0x04 /* Disables Playback Path */
-#define CODEC_IRQ_ENABLE 0x02 /* CEXTI[2] */
-#define CODEC_TIMER_IRQ 0x40 /* CSR3I[6] */
-#define CODEC_REC_IRQ 0x20 /* CSR3I[5] */
-#define CODEC_PLAY_IRQ 0x10 /* CSR3I[4] */
-#define CODEC_INT 0x01 /* CSR1R[0] */
-#define MONO_INPUT 0x80 /* CMONOI[7] */
-#define MONO_OUTPUT 0x40 /* CMONOI[6] */
-#define MIDI_UP 0x88 /* Enables MIDI ports */
-#define MIDI_DOWN 0x08 /* Disables MIDI ports */
-#define SYNTH_UP 0x90 /* Enables Synthesizer */
-#define SYNTH_DOWN 0x10 /* Disables Synthesizer */
-#define LMC_UP 0xA0 /* Enables LM Module */
-#define LMC_DOWN 0x20 /* Disbales LM Module */
-#define XTAL24_UP 0xC0 /* Enables 24MHz Osc */
-#define XTAL24_DOWN 0x40 /* Disables 24MHz Osc */
-#define _PPWRI 0xF2 /* PPWRI index */
-#define PLAY 0x0F
-#define REC 0x1F
-#define LEFT_AUX1_INPUT 0x02
-#define RIGHT_AUX1_INPUT 0x03
-#define LEFT_AUX2_INPUT 0x04
-#define RIGHT_AUX2_INPUT 0x05
-#define LEFT_LINE_IN 0x12
-#define RIGHT_LINE_IN 0x13
-#define LEFT_LINE_OUT 0x19
-#define RIGHT_LINE_OUT 0x1B
-#define LEFT_SOURCE 0x00
-#define RIGHT_SOURCE 0x01
-#define LINE_IN 0x00
-#define AUX1_IN 0x40
-#define MIC_IN 0x80
-#define MIX_IN 0xC0
-#define LEFT_DAC 0x06
-#define RIGHT_DAC 0x07
-#define LEFT_MIC_IN 0x16
-#define RIGHT_MIC_IN 0x17
-#define _CUPCTI 0x0E
-#define _CLPCTI 0x0F
-#define _CURCTI 0x1E
-#define _CLRCTI 0x1F
-#define _CLAX1I 0x02
-#define _CRAX1I 0x03
-#define _CLAX2I 0x04
-#define _CRAX2I 0x05
-#define _CLLICI 0x12
-#define _CRLICI 0x13
-#define _CLOAI 0x19
-#define _CROAI 0x1B
-#define _CLICI 0x00
-#define _CRICI 0x01
-#define _CLDACI 0x06
-#define _CRDACI 0x07
-#define _CPVFI 0x1D
-/*#######################################################################*/
-/**/
-/* Defines for DMA transfer related operations*/
-/**/
-/*#######################################################################*/
-#define MAX_DMA 0x07
-#define DMA_DECREMENT 0x20
-#define AUTO_INIT 0x10
-#define DMA_READ 0x01
-#define DMA_WRITE 0x02
-#define AUTO_READ 0x03
-#define AUTO_WRITE 0x04
-#define IDMA_INV 0x0400
-#define IDMA_WIDTH_16 0x0100
-/*#######################################################################*/
-/**/
-/* Bits for dma flags within a DMA structure.*/
-/**/
-/*#######################################################################*/
-#define DMA_USED 0x0001
-
-#define DMA_SPLIT 0x0004 /* DMA Controller Page Crossover*/
-#define CODEC_DMA 0x0008 /* Indicates a Codec DMA*/
-#define DMA_WAIT 0x0020 /* Wait for DMA xfer to complete*/
-#define DMA_DOWN 0x0040 /* DMA xfer from PC to InterWave*/
-#define DRAM_HOLES 0x8000 /* Indicates Non-contiguous RAM configuration*/
-#define DMA_UP 0xFFBF /* DMA xfer from InterWave to PC */
-/*#######################################################################*/
-/**/
-/* Bits for DMA Control Register (LDMACI)*/
-/**/
-/*#######################################################################*/
-#define _LDMACI 0x41 /* Index */
-#define DMA_INV 0x80
-#define DMA_IRQ_ENABLE 0x20
-#define DMA_IRQ_PENDING 0x40 /* on reads of LDMACI[6] */
-#define DMA_DATA_16 0x40 /* on writes to LDMACI[6] */
-#define DMA_WIDTH_16 0x04 /* 1=16-bit, 0=8-bit (DMA channel) */
-#define DMA_RATE 0x18 /* 00=fastest,...,11=slowest */
-#define DMA_UPLOAD 0x02 /* From LM to PC */
-#define DMA_ENABLE 0x01
-/*#######################################################################*/
-/**/
-/* DMA Transfer Rates*/
-/**/
-/*#######################################################################*/
-#define DMA_R0 0xE7 /* Fastest (use ANDing to set) */
-#define DMA_R1 0x08
-#define DMA_R2 0x10
-#define DMA_R3 0x18 /* Slowest */
-/*#######################################################################*/
-/**/
-/* Interrupt Controller Defines*/
-/**/
-/*#######################################################################*/
-#define IW_HANDLERS_ON 0x80 /* Flag for when IVT is modified */
-#define EOI 0x20
-#define OCR1 0x20 /* 8259-1 Operation Control Reg. */
-#define IMR1 0x21 /* 8259-1 Interrupt Mask Reg. */
-#define OCR2 0xA0 /* 8259-2 Operation Control Reg. */
-#define IMR2 0xA1 /* 8259-2 Interrupt Mask Reg. */
-#define IRQ0_UNMASK 0xFE /* Mask to clear bit 0 in IMR */
-#define IRQ1_UNMASK 0xFD
-#define IRQ2_UNMASK 0xFB
-#define IRQ3_UNMASK 0xF7
-#define IRQ4_UNMASK 0xEF
-#define IRQ5_UNMASK 0xDF
-#define IRQ6_UNMASK 0xBF
-#define IRQ7_UNMASK 0x7F
-#define IRQ8_UNMASK 0xFE /* Mask to clear bit 0 in IMR */
-#define IRQ9_UNMASK 0xFD
-#define IRQ10_UNMASK 0xFB
-#define IRQ11_UNMASK 0xF7
-#define IRQ12_UNMASK 0xEF
-#define IRQ13_UNMASK 0xDF
-#define IRQ14_UNMASK 0xBF
-#define IRQ15_UNMASK 0x7F
-#define IRQ0_EOI 0x60 /* Spec EOI for IRQ0 */
-#define IRQ1_EOI 0x61
-#define IRQ2_EOI 0x62
-#define IRQ3_EOI 0x63
-#define IRQ4_EOI 0x64
-#define IRQ5_EOI 0x65
-#define IRQ6_EOI 0x66
-#define IRQ7_EOI 0x67
-#define IRQ8_EOI 0x60 /* Spec EOI for IRQ8 */
-#define IRQ9_EOI 0x61
-#define IRQ10_EOI 0x62
-#define IRQ11_EOI 0x63
-#define IRQ12_EOI 0x64
-#define IRQ13_EOI 0x65
-#define IRQ14_EOI 0x66
-#define IRQ15_EOI 0x67
-/*#######################################################################*/
-/**/
-/* Generic defines*/
-/**/
-/*#######################################################################*/
-/**/
-#define MEMBANK0 0L /* Addr of Memory Bank 0*/
-#define MEMBANK1 4194304L /* Addr of Memory Bank 1*/
-#define MEMBANK2 8388608L /* Addr of Memory Bank 2*/
-#define MEMBANK3 12582912L /* Addr of Memory Bank 3*/
-#define IRQ_UNAVAIL 0x0000
-#define IRQ_AVAIL 0x0001
-#define IRQ_USED 0x0002
-#define MAX_IRQ 16
-#define NEXT_OFFSET 0L
-#define PREV_OFFSET 4L
-#define SIZE_OFFSET 8L
-#define MEM_HEADER_SIZE 12L
-#define GF1_POOL (usigned long)(256L*1024L)
-#define GUS_MODE 0x00 /* SGMI[0]=0*/
-#define ENH_MODE 0x01 /* SGMI[0]=1*/
-#define ENABLE_LFOS 0x02 /* SGMI[1]*/
-#define NO_WAVETABLE 0x04 /* SGMI[2]*/
-#define RAM_TEST 0x08 /* SGMI[3]*/
-#define TRUE 1
-#define FALSE 0
-#define ON 1
-#define OFF 0
-#define AUDIO 0
-#define EXT 1
-#define GAME 2
-#define EMULATION 3
-#define MPU401 4
-#define AUDIO_EXT 2
-#define ALLOC_FAILURE 0xFFFFFFFFL
-#define MEM_EXHAUSTED 0xFFFFFFFFL
-#define RAM_MAX 16777216L
-#define RAM_STEP 65536L
-#define BANK_MAX 4194304L
-#define ILLEGAL_SIZE -1
-#define MEM_INIT 1
-#define NO_NEXT 0xFFFFFFFFL
-#define NO_PREV NO_NEXT
-#define DMA_BAD_ADDR -1
-#define DMA_ON -1
-#define DMA_OK 1
-#define MIDI_TX_IRQ 0x01
-#define MIDI_RX_IRQ 0x02
-#define ALIB_TIMER1_IRQ 0x04
-#define ALIB_TIMER2_IRQ 0x08
-#define WAVETABLE_IRQ 0x20
-#define ENVELOPE_IRQ 0x40
-#define DMA_TC_IRQ 0x80
-#define DMA_SET_MASK 0x04
-#define PNP_DATA_RDY 1 /* PRESSI[0] */
-#define IWAVE_ABSENT 2
-#define IWAVE_OPEN 4
-#define IWAVE_OK 5
-#define BAD_VOICES -1
-#define PNP_ABSENT 0xFF /* No PNP cards in system */
-#define DPMI_INT 0x31
-#define _PCCCI 0x02
-#define _PCSNI 0x06
-#define _PIDXR 0x279
-#define _PNPWRP 0xA79
-#define _LDSALI 0x42
-#define _LDSAHI 0x50
-#define _LMALI 0x43
-#define _LMAHI 0x44
-#define _LMCFI 0x52
-#define _LMCI 0x53
-#define _LDIBI 0x58
-#define _LDICI 0x57
-#define _LMSBAI 0x51
-#define _SVCI_RD 0x8D
-#define _SVCI_WR 0x0D
-#define _SACI_RD 0x80
-#define _SACI_WR 0x00
-#define _SALI_RD 0x8B
-#define _SALI_WR 0x0B
-#define _SAHI_RD 0x8A
-#define _SAHI_WR 0x0A
-#define _SASHI_RD 0x82
-#define _SASHI_WR 0x02
-#define _SASLI_RD 0x83
-#define _SASLI_WR 0x03
-#define _SAEHI_RD 0x84
-#define _SAEHI_WR 0x04
-#define _SAELI_RD 0x85
-#define _SAELI_WR 0x05
-#define _SVRI_RD 0x86
-#define _SVRI_WR 0x06
-#define _SVSI_RD 0x87
-#define _SVSI_WR 0x07
-#define _SVEI_RD 0x88
-#define _SVEI_WR 0x08
-#define _SVLI_RD 0x89
-#define _SVLI_WR 0x09
-#define _SROI_RD 0x8C
-#define _SROI_WR 0x0C
-#define _SLOI_RD 0x93
-#define _SLOI_WR 0x13
-#define _SMSI_RD 0x95
-#define _SMSI_WR 0x15
-#define _SGMI_RD 0x99
-#define _SGMI_WR 0x19
-#define _SFCI_RD 0x81
-#define _SFCI_WR 0x01
-#define _SUAI_RD 0x90
-#define _SUAI_WR 0x10
-#define _SVII 0x8F
-#define _CMODEI 0x0C /* index for CMODEI */
-#define _CFIG3I 0x11
-#define _CFIG2I 0x10
-#define _CLTIMI 0x14
-#define _CUTIMI 0x15
-#define _CSR3I 0x18 /* Index to CSR3I (Interrupt Status) */
-#define _CEXTI 0x0A /* Index to External Control Register */
-#define _CFIG1I 0x09 /* Index to Codec Conf Reg 1 */
-#define _CSR2I 0x0B /* Index to Codec Stat Reg 2 */
-#define _CPDFI 0x08 /* Index to Play Data Format Reg */
-#define _CRDFI 0x1C /* Index to Rec Data Format Reg */
-#define _CLMICI 0x16 /* Index to Left Mic Input Ctrl Register */
-#define _CRMICI 0x17 /* Index to Right Mic Input Ctrl Register */
-#define _CLCI 0x0D /* Index to Loopback Ctrl Register */
-#define _IVERI 0x5B /* Index to register IVERI */
-#define CODEC_MODE1 0x00
-#define CODEC_MODE2 0x40
-#define CODEC_MODE3 0x6C /* Enhanced Mode */
-#define CODEC_STATUS1 0x01
-#define CODEC_STATUS2 0x0B /* Index to CSR2I */
-#define CODEC_STATUS3 0x18 /* Index to CSR3I */
-#define PLAYBACK 0x01 /* Enable playback path CFIG1I[0]=1*/
-#define RECORD 0x02 /* Enable Record path CFIG1I[1]=1*/
-#define TIMER_ENABLE 0x40 /* CFIG2I[6] */
-#define CODEC_MCE 0x40 /* CIDXR[6] */
-#define CALIB_IN_PROGRESS 0x20 /* CSR2I[5] */
-#define CODEC_INIT 0x80 /* CIDXR[7] */
-#define BIT16_BIG 0xC0 /* 16-bit signed, big endian */
-#define IMA_ADPCM 0xA0 /* IMA-compliant ADPCM */
-#define BIT8_ALAW 0x60 /* 8-bit A-law */
-#define BIT16_LITTLE 0x40 /* 16-bit signed, lillte endian */
-#define BIT8_ULAW 0x20 /* 8-bit u-law */
-#define BIT8_LINEAR 0x00 /* 8-bit unsigned */
-#define REC_DFORMAT 0x1C
-#define PLAY_DFORMAT 0x08
-#define DMA_ACCESS 0x00
-#define PIO_ACCESS 0xC0
-#define DMA_SIMPLEX 0x04
-#define STEREO 0x10 /* CxDFI[4] */
-#define XTAL1 0x00 /* CxDFI[4]=0 selects 24.5Mhz XTAL */
-#define XTAL2 0x01 /* CxDFI[4]=1 selects 16.9Mhz XTAL */
-#define AUTOCALIB 0x08 /* CFIG1I[3] */
-#define ROM_IO 0x02 /* ROM I/O cycles - LMCI[1]=1 */
-#define DRAM_IO 0x4D /* DRAM I/O cycles - LMCI[1]=0 */
-#define AUTOI 0x01 /* LMCI[0]=1 */
-#define _PLDNI 0x07
-#define ACTIVATE_DEV 0x30
-#define _PWAKEI 0x03 /* Index for PWAKEI */
-#define _PISOCI 0x01 /* Index for PISOCI */
-#define _PSECI 0xF1 /* Index for PSECI */
-#define RANGE_IOCHK 0x31 /* PURCI or PRRCI Index */
-#define MIDI_RESET 0x03
-#define IO_OK 5 /* No IO conflict flag */
-#define IO_CONFLICT 6 /* IO Conflict detected */
-#define IO_0x55 0x01
-#define IO_0xAA 0xFE
-/*#######################################################################*/
-/**/
-/* Defines for Sound Handlers in "iw".*/
-/**/
-/*#######################################################################*/
-#define PLAY_DMA_HANDLER 0x01
-#define REC_DMA_HANDLER 0x02
-#define MIDI_TX_HANDLER 0x03
-#define MIDI_RX_HANDLER 0x04
-#define TIMER1_HANDLER 0x05
-#define TIMER2_HANDLER 0x06
-#define WAVE_HANDLER 0x07
-#define VOLUME_HANDLER 0x08
-#define CODEC_TIMER_HANDLER 0x09
-#define CODEC_PLAY_HANDLER 0x0A
-#define CODEC_REC_HANDLER 0x0B
-#define AUX_HANDLER 0x0C
-/*#######################################################################*/
-/**/
-/* Mapping for System Control Regs.*/
-/**/
-/*#######################################################################*/
-#define UMCR 0x00010000 /* Mix Control Reg.*/
-#define UISR 0x00020006 /* IRQ Stat Reg. (read) */
-#define U2X6R 0x00030006 /* SB 2X6 reg */
-#define UACWR 0x00040008 /* AdLib Command Write Reg */
-#define UASRR 0x00050008 /* AdLib Stat Read Reg */
-#define UADR 0x00060009 /* AdLib Data Register */
-#define UACRR 0x0007000A /* AdLib Cmd Read Reg */
-#define UASWR 0x0008000A /* AdLib Stat Write Reg */
-#define UHRDP 0x0009000B /* Hidden Reg Data Port */
-#define UI2XCR 0x000A000C /* SB IRQ 2xC Reg */
-#define U2XCR 0x000B000D /* SB 2xC Reg. (No IRQ) */
-#define U2XER 0x000C000E /* SB 2xE Reg. */
-#define URCR 0x000D000F /* Reg Control Register */
-#define USRR 0x000E000F /* Status Read Register */
-#define UDCI 0x000F000B /* DMA Channel Control Reg */
-#define UICI 0x0010000B /* Interrupt Ctrl Reg */
-#define UGP1I 0x0011010B /* GP Reg 1 (Back Door) */
-#define UGP2I 0x0012020B /* GP Reg 2 (Back Door) */
-#define UGPA1I 0x0013030B /* GP reg 1 Address */
-#define UGPA2I 0x0014040B /* GP reg 2 Address */
-#define UCLRII 0x0015050B /* Clear Interrupt Reg */
-#define UJMPI 0x0016060B /* Jumper Register */
-#define UGP1II 0x0017000B /* Gen. Purp Reg 1(Emulation) */
-#define UGP2II 0x0018000B /* Gen. Purp Reg 2(Emulation) */
-#define GGCR 0x00190201 /* Game Control Register */
-#define GMCR 0x001A0000 /* MIDI Control Register */
-#define GMSR 0x001B0000 /* MIDI Status Reg. */
-#define GMTDR 0x001C0001 /* MIDI xmit data reg */
-#define GMRDR 0x001D0001 /* MIDI rcv data reg */
-#define SVSR 0x001E0002 /* Synth Voice Select Reg */
-#define IGIDXR 0x001F0003 /* General Index Register */
-#define I16DP 0x00200004 /* General 16-bit Data Port */
-#define I8DP 0x00210005 /* General 8-bit Data Port */
-/*#######################################################################*/
-/**/
-/* Synth defines*/
-/**/
-/*#######################################################################*/
-#define SACI 0x00220005 /* Synth Addr Control */
-#define SFCI 0x00230104 /* Synth Freq Control */
-#define SASHI 0x00240204 /* Synth Addr Start High */
-#define SASLI 0x00250304 /* Synth Addr Start Low */
-#define SAEHI 0x00260404 /* Synth Addr End High */
-#define SAELI 0x00270504 /* Synth Addr End Low */
-#define SVRI 0x00280605 /* Synth Volume Rate */
-#define SVSI 0x00290705 /* Synth Volume Start */
-#define SVEI 0x002A0805 /* Synth Volume End */
-#define SVLI 0x002B0904 /* Synth Volume Level */
-#define SAHI 0x002C0A04 /* Synth Address High */
-#define SALI 0x002D0B04 /* Synth Address Low */
-#define SROI 0x002E0C04 /* Synth Right Offset */
-#define SVCI 0x002F0D05 /* Synth Volume Control */
-#define SAVI 0x00300E05 /* Synth Active Voices */
-#define SVII 0x00318F05 /* Synth Voice IRQ */
-#define SUAI 0x00321005 /* Synth Upper Addr */
-#define SEAHI 0x00331104 /* Synth Effect Addr High */
-#define SEALI 0x00341204 /* Synth Effect Addr Low */
-#define SLOI 0x00351304 /* Synth Left Offset */
-#define SEASI 0x00361405 /* Synth Effects Accum Sel */
-#define SMSI 0x00371505 /* Synth Mode Select */
-#define SEVI 0x00381604 /* Synth Effect Volume */
-#define SFLFOI 0x00391705 /* Synth Freq LFO */
-#define SVLFOI 0x003A1805 /* Synth Vol LFO */
-#define SGMI 0x003B1905 /* Synth Global Mode */
-#define SLFOBI 0x003C1A04 /* Synth LFO Base Address */
-#define SROFI 0x003D1B04
-#define SLOFI 0x003E1C04
-#define SEVFI 0x003F1D04
-#define SVIRI 0x00409F05 /* Synth Voice Read IRQ */
-#define LDMACI 0x00414105 /* DMA Control Reg. */
-#define LDSALI 0x00424204 /* LMC DMA Start Addr. Low Reg. */
-#define LMALI 0x00434304 /* LMC Addr Low (I/O) */
-#define LMAHI 0x00444405 /* LMC Addr High (I/O) */
-#define UASBCI 0x00454505 /* Adlib-SB Control */
-#define UAT1I 0x00464605 /* AdLib Timer 1 Count */
-#define UAT2I 0x00474705 /* AdLib Timer 2 Count */
-#define USCI 0x00484905 /* Sample Control Reg */
-#define GJTDI 0x00494B05
-#define URSTI 0x004A4C05
-#define LDSAHI 0x004B5005
-#define LMSBAI 0x004C5104
-#define LMCFI 0x004D5204
-#define LMCI 0x004E5305
-#define LMRFAI 0x004F5404
-#define LMPFAI 0x00505504
-#define LMSFI 0x00515604
-#define LDICI 0x00525704
-#define LDIBI 0x00535804
-#define ICMPTI 0x00545905
-#define IDECI 0x00555A05
-#define IVERI 0x00565B05
-#define IEMUAI 0x00575C05
-#define IEMUBI 0x00585D05
-#define GMRFAI 0x00595E05
-#define ITCI 0x005A5F05
-#define IEIRQI 0x005B6005
-#define LMBDR 0x005C0007
-/*##########################################################*/
-/* Mnemonics for Codec Registers*/
-/*##########################################################*/
-#define CIDXR 0x005D0000
-#define CDATAP 0x005E0001
-#define CSR1R 0x005F0002
-#define CPDR 0x00600003
-#define CRDR 0x00610003
-#define CLICI 0x00620001
-#define CRICI 0x00630101
-#define CLAX1I 0x00640201
-#define CRAX1I 0x00650301
-#define CLAX2I 0x00660401
-#define CRAX2I 0x00670501
-#define CLDACI 0x00680601
-#define CRDACI 0x00690701
-#define CPDFI 0x006A0801
-#define CFIG1I 0x006B0901
-#define CEXTI 0x006C0A01
-#define CSR2I 0x006D0B01
-#define CMODEI 0x006E0C01
-#define CLCI 0x006F0D01
-#define CUPCTI 0x00700E01
-#define CLPCTI 0x00710F01
-#define CFIG2I 0x00721001
-#define CFIG3I 0x00731101
-#define CLLICI 0x00741201
-#define CRLICI 0x00751301
-#define CLTIMI 0x00761401
-#define CUTIMI 0x00771501
-#define CLMICI 0x00781601
-#define CRMICI 0x00791701
-#define CSR3I 0x007A1801
-#define CLOAI 0x007B1901
-#define CMONOI 0x007C1A01
-#define CROAI 0x007D1B01
-#define CRDFI 0x007E1C01
-#define CPVFI 0x007F1D01
-#define CURCTI 0x00801E01
-#define CLRCTI 0x00811F01
-/*##########################################################*/
-/* Mnemonics for PnP Registers*/
-/*##########################################################*/
-#define PCSNBR 0x00820201
-#define PIDXR 0x00830279
-#define PNPWRP 0x00840A79
-#define PNPRDP 0x00850000
-#define PSRPAI 0x00860000
-#define PISOCI 0x00870100
-#define PCCCI 0x00880200
-#define PWAKEI 0x00890300
-#define PRESDI 0x008A0400
-#define PRESSI 0x008B0500
-#define PCSNI 0x008C0600
-#define PLDNI 0x008D0700
-#define PUACTI 0x008E3000
-#define PURCI 0x008F3100
-#define P2X0HI 0x00906000
-#define P2X0LI 0x00916100
-#define P3X0HI 0x00926200
-#define P3X0LI 0x00936300
-#define PHCAI 0x00946400
-#define PLCAI 0x00956500
-#define PUI1SI 0x00967000
-#define PUI1TI 0x00977100
-#define PUI2SI 0x00987200
-#define PUI2TI 0x00997300
-#define PUD1SI 0x009A7400
-#define PUD2SI 0x009B7500
-#define PSEENI 0x009CF000
-#define PSECI 0x009DF100
-#define PPWRI 0x009EF200
-#define PRACTI 0x009F3001
-#define PRRCI 0x00A03101
-#define PRAHI 0x00A16001
-#define PRALI 0x00A26101
-#define PATAHI 0x00A36201
-#define PATALI 0x00A46301
-#define PRISI 0x00A57001
-#define PRITI 0x00A67101
-#define PRDSI 0x00A77401
-#define PGACTI 0x00A83002
-#define PGRCI 0x00A93102
-#define P201HI 0x00AA6002
-#define P201LI 0x00AB6102
-#define PSACTI 0x00AC3003
-#define PSRCI 0x00AD3103
-#define P388HI 0x00AE6003
-#define P388LI 0x00AF6103
-#define PSBISI 0x00B07003
-#define PSBITI 0x00B17103
-#define PMACTI 0x00B23004
-#define PMRCI 0x00B33104
-#define P401HI 0x00B46004
-#define P401LI 0x00B56104
-#define PMISI 0x00B67004
-#define PMITI 0x00B77104
-
-typedef unsigned char BYTE;
-typedef unsigned short WORD;
-typedef unsigned short PORT;
-typedef unsigned long DWORD;
-typedef unsigned long ADDRESS;
-typedef int BOOL;
-typedef int FLAG;
-
-typedef struct
- {
- short flags; /* InterWave stat flags */
- PORT pcodar; /* Base Port for Codec */
- PORT pcdrar; /* Base Port for Ext Device */
- PORT p2xr; /* Compatibility Base Port */
- PORT p3xr; /* MIDI and Synth Base Port */
- PORT p401ar; /* Gen Purpose Reg. 1 address */
- PORT p201ar; /* Game Ctrl normally at 0x201 */
- PORT pataar; /* Base Address for ATAPI I/O Space */
- PORT p388ar; /* Base Port for AdLib. It should be 388h */
- PORT pnprdp; /* PNP read data port */
- PORT igidxr; /* Gen Index Reg at P3XR+0x03 */
- PORT i16dp; /* 16-bit data port at P3XR+0x04 */
- PORT i8dp; /* 8-bit data port at P3XR+0x05 */
- PORT svsr; /* Synth Voice Select at P3XR+0x02 */
- PORT cdatap; /* Codec Indexed Data Port at PCODAR+0x01 */
- PORT csr1r; /* Codec Stat Reg 1 at PCODAR+0x02 */
- PORT cxdr; /* Play or Record Data Reg at PCODAR+0x03 */
- PORT gmxr; /* GMCR or GMSR at P3XR+0x00 */
- PORT gmxdr; /* GMTDR or GMRDR at P3XR+0x01 */
- PORT lmbdr; /* LMBDR at P3XR+0x07 */
- BYTE csn; /* Card Select Number */
- BYTE cmode; /* Codec Operation Mode */
- int dma1_chan; /* DMA channel 1 (local DMA & codec rec) */
- int dma2_chan; /* DMA channel 2 (codec play) */
- int ext_chan; /* Ext Dev DMA channel */
- BYTE voices; /* Number of active voices */
- DWORD vendor; /* Vendor ID and Product Identifier */
- int synth_irq; /* Synth IRQ number */
- int midi_irq; /* MIDI IRQ number */
- int ext_irq; /* Ext Dev IRQ */
- int mpu_irq; /* MPU401 Dev IRQ */
- int emul_irq; /* Sound Blaster/AdLib Dev IRQ */
- ADDRESS free_mem; /* Address of First Free LM Block */
- DWORD reserved_mem; /* Amount of LM reserved by app. */
- BYTE smode; /* Synth Mode */
- WORD size_mem; /* Total LM in Kbytes */
-
- } IWAVE;
-
-#endif
OpenPOWER on IntegriCloud