Basic Sound Blaster Programming ÜÜÜÜ ÜÜÜÜ Û Û Û ÛÜÜÜÜÜ ÜÜÜ Ü Ü ÜÜÜÜ ÜÜÜÜ ÛÜÜÜÛÜ Ü ÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜ Û Û Û Û Û Û Û Û Û Û Û Û ÛÜÜÜÛ ÛÜÜÜÜ Û ÛÜÜ ÛÜÜÜß Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û ßßßßßß ßßßßß ßßßß ß ß ßßßß ßßßßßß ßßßßß ß ß ßßßßß ß ßßßßß ß ß Programming Information v0.90 January 29, 1995 Andr‚ Baresel - Craig Jackson Copyright (c) 1995 ============================================================================== DISCLAIMER ------------------------------------------------------------------------------ ALL INFORMATION IN THIS DOCUMENT WAS OBTAINED FROM NON-CONFIDENTIAL, PUBLIC DOMAIN, SOURCES AND LEGAL INVESTIGATION BY THE AUTHORS. APART FROM CASUAL EXAMININATION OF THE SOUNDBLASTER OWNER'S MANUALS, ABSOLUTELY NO REFERENCE WAS MADE TO CREATIVE LABS DOCUMENTATION INCLUDING, BUT NOT LIMITED TO, SOFTWARE DEVELOPMENT KITS, PROGRAMMING NOTES, AND SOURCE CODE. THIS DOCUMENT IS NEITHER GUARANTEED TO BE FIT FOR ANY PARTICULAR PURPOSE NOR TO BE ENTIRELY CORRECT. LIABILITY RESTS WITH THE USER OF THE DOCUMENTATION IF AND WHEN INFORMATION CONTAINED HEREIN RESULTS DIRECTLY OR INDIRECTLY IN LOSS OF PROFITS, PRODUCTIVITY, OR SLEEP. ABSOLUTELY NO WARRANTIES OR GUARANTIES, EITHER EXPRESSED OR IMPLIED, ACCOMPANY THIS DOCUMENT. THIS DOCUMENT, ITS AUTHORS, AND CONTRIBUTORS CLAIM NO AFFILIATION WITH CREATIVE LABS NOR DO THEY NECESSARILY ENDORSE ANY OF THE COMPANIES OR PRODUCTS MENTIONED. THIS DOCUMENT IS FREELY REDISTRIBUTABLE ONLY IN ITS ORIGINAL UNMODIFIED FORM AND PROVIDED NO DIRECT PROFIT IS MADE FROM ITS DISTRIBUTION. ALL COPYRIGHTS AND TRADEMARKS BELONG TO THEIR RESPECTIVE OWNERS. ============================================================================== SOUNDBLASTER MODELS ------------------------------------------------------------------------------ SoundBlaster 1.0 SoundBlaster 1.5 SoundBlaster 2.0 SoundBlaster MCV (MCA) SoundBlaster Pro SoundBlaster Pro2 SoundBlaster Pro Value Edition SoundBlaster Pro MCV (MCA) SoundBlaster 16 SoundBlaster 16 Basic Edition SoundBlaster 16 Value Edition SoundBlaster 16 ASP SoundBlaster 16 MultiCD SoundBlaster 16 MultiCD ASP SoundBlaster 16 SCSI-2 SoundBlaster 16 SCSI-2 ASP SoundBlaster AWE32 SoundBlaster AWE32 Value Edition ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º SOUNDBLASTER MODEL ³ 8-BIT Hz (DAC) ³ 16-BIT Hz (DAC) º º ³ MONO ³ MONO º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ º SoundBlaster 1.x ³ 4000-22222 ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster 2.x ³ 4000-45454 ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster Pro ³ 4000-45454 ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster 16 ³ 4000-45454 ³ 4000-45454 º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster AWE32 ³ 5000-45454 ³ 5000-45454 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º SOUNDBLASTER MODEL ³ 8-BIT Hz (DAC) ³ 16-BIT Hz (DAC) º º ³ STEREO ³ STEREO º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ º SoundBlaster 1.x ³ N/A ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster 2.x ³ N/A ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster Pro ³ 4000-22727 ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster 16 ³ 4000-45454 ³ 4000-45454 º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster AWE32 ³ 5000-45454 ³ 5000-45454 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º SOUNDBLASTER MODEL ³ 8-BIT Hz (ADC) ³ 16-BIT Hz (ADC) º º ³ MONO ³ MONO º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ º SoundBlaster 1.x ³ 4000-11111 ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster 2.x ³ 4000-15151 ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster Pro ³ 4000-45454 ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster 16 ³ 4000-45454 ³ 4000-45454 º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster AWE32 ³ 5000-45454 ³ 5000-45454 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º SOUNDBLASTER MODEL ³ 8-BIT Hz (ADC) ³ 16-BIT Hz (ADC) º º ³ STEREO ³ STEREO º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ º SoundBlaster 1.x ³ N/A ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster 2.x ³ N/A ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster Pro ³ 4000-22727 ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster 16 ³ 4000-45454 ³ 4000-45454 º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º SoundBlaster AWE32 ³ 5000-45454 ³ 5000-45454 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ============================================================================== SOUNDBLASTER COMPATIBLES ------------------------------------------------------------------------------ ??? AudioDrive 688 ??? Laserwave Supra 16 ??? MediaConcept Pro Adaptec Audio Machine??? Addonics??? Sound Master Add Tech Sound 2000 Advanced Gravis Gravis Ultrasound Gravis Ultrasound MAX Alpha Systems VR ATI ATI Stereo F/X AVM Technology AltraPro Aztech Sound Galaxy??? Sound Galaxy BXII Sound Galaxy BXII Extra Sound Galaxy Basic 16 Sound Galaxy Basic 16 Extra Sound Galaxy Nova 16 Sound Galaxy NXII Sound Galaxy NX Pro Sound Galaxy Orion 16 Sound Galaxy Pro??? Sound Galaxy Pro 16 Biostar??? MediaChips Audio Device 16 (7168VMD) Bluepoint Sound FX 3000??? Cardinal Technologies Digital Sound Pro 16 Sound Pilot Computer Peripherals ViVa Maestro 16 ViVa Maestro 16 VR CPS AudioBlaster 1.0 AudioBlaster 1.5 AudioBlaster 2.0 AudioBlaster 2.5 AudioBlaster 4.0 Diamond Sonic Sound Sonic Sound LX DSP Solutions PORT*ABLE Sound Plus Ensoniq Ensoniq Soundscape Gallant Audio Plus True 16 Genoa Systems AudioBahn 16 Pro IBM IBM Windsurfer Kingston Technologies Omnivox Logitech Inc. Soundman 16 Soundman Wave Lyben Sound Card Basic Sound Card 16 Stereo MediaMagic OnMagic??? MediaTrix AudioTrix Pro MediaVision Deluxe Premium 3D Premium 3D MultiCD Premium 3D SCSI-2 Pro 3D Pro Audio 16 Basic Pro Audio Spectrum 16 Pro Audio Studio Pro Sonic 16 MEI Premium 16 Sound Card Microsoft Windows Sound System 2.0??? MultiWave Innovation Inc. AudioWave Platinum 16 Nu Reality Vivid 3D??? Oak Technologies Mozart-128 Orchid GameWave 32 Sound Producer SoundWave 32 Paradise Audio Basic Audio Professional ProLink Computer Inc. SoundPlus Prometheus Aria 16 Aria 16se Reveal Sound FX/32 Wavetable (SC600) Sigma Designs Reel Magic Triumph Logistic Computers Audio Forge Professional Trust Sound Expert 16 Deluxe Turtle Beach Monte Carlo Tropez Yamaha Yamaha CBX-B1 Zoltrix TESS ============================================================================== ENVIRONMENT VARIABLE ------------------------------------------------------------------------------ BLASTER=Aa Ii Dd Hh Pp Tt Aa - Base Address 0210h, 0220h, 0230h, 0240h, 0250h, 0260h, 0280h Ii - Interrupt Request 2, 3, 5, 7, 10 Dd - DMA Channel, 8-bit 0, 1, 3 Hh - DMA Channel, 16-bit 5, 6, 7 Pp - Base MIDI Address 0300h, 0330h Tt - Model 1(1.x), 2(Pro), 3(2.0), 4(Pro2.0), 5(ProMCV), 6(16, AWE32) NOTE: 16-bit DMA definition may actually refer to an 8-bit DMA alias. ============================================================================== HARDWARE PORTS ------------------------------------------------------------------------------ 02x00h C/MS 1-6 - Data Port Write SB Only 02x00h FM Music - Left Status Port Read SBPro 02x00h FM Music - Left Register Port Write SBPro 02x01h C/MS 1-6 - Register Port Write SB Only 02x01h FM Music - Left Data Register Write SBPro 02x02h C/MS7-12 - Data Port Write SB Only 02x02h FM Music - Right Status Port Read SBPro 02x02h FM Music - Right Register Port Write SBPro 02x03h C/MS7-12 - Register Port Write SB Only 02x03h FM Music - Right Data Register Write SBPro 02x04h Mixer - Register Port Write SBPro 02x05h Mixer - Data Register Read/Write SBPro 02x06h DSP - Reset Write SB 02x08h FM Music - Compatible Status Port Read SB 02x08h FM Music - Compatible Register Port Write SB 02x09h FM Music - Compatible Data Register Write SB 02x0Ah DSP - Read Data Read SB 02x0Ch DSP - Write Data or Command Write SB 02x0Ch DSP - Write Buffer Status Read SB 02x0Dh DSP - Timer Interrupt Clear Read SB16??? 02x0Eh DSP - Data Available Status Read SB 02x0Eh DSP - IRQ Acknowledge, 8-bit Read SB 02x0Fh DSP - IRQ Acknowledge, 16-bit Read SB16 02x10h CD-ROM - Data Register Read SBPro 02x10h CD-ROM - Command Port Write SBPro 02x11h CD-ROM - Status Port Read SBPro 02x12h CD-ROM - Reset Write SBPro 02x13h CD-ROM - Enable Write SBPro 0388h AdLib - Status Port Read SB 0388h AdLib - Register Port Write SB 0389h AdLib - Data Register Write SB 038Ah Advanced AdLib - Status Port Read SB16 038Ah Advanced AdLib - Register Port Write SB16 038Bh Advanced AdLib - Data Register Write SB16 03x00h MPU-401 - Data Port Read/Write SB16??? 03x01h MPU-401 - Status Port Read SB16??? 03x01h MPU-401 - Command Port Write SB16??? 0200h-0207h Joystick Varies SB ------------------------------------------------------------------------------ 02x00h C/MS - Data Port (Voice 1-6) Write SB Only DESCRIPTION References currently selected C/MS voice 1-6 index register. PROCEDURE a) Write register index (02x01h) b) Write register data (02x00h) SEE ALSO 02x01h C/MS - Register Port (Voice 1- 6) Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x02h C/MS - Data Port (Voice 7-12) Write ------------------------------------------------------------------------------ 02x00h FM Music - Left Status Port Read SBPro DESCRIPTION Categorizes left-channel synthesizer generated timer interrupts. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timer 2 Status (1 = Expired) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timer 1 Status (1 = Expired) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Global Timer Status (1 = Active ) NOTES þ Global Timer Status will be active if either timer has expired. þ Counter period of Timer 1 is 80æs, and Timer 2 is 230æs. þ Synthesizer generated timer interrupts are signalled on IRQ0. SEE ALSO 02x00h FM Music - Left Register Port Write 02x01h FM Music - Left Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x08h FM Music - Compat. Status Port Read 0338h AdLib - Status Port Read úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x02h FM Music - Right Status Port Read ------------------------------------------------------------------------------ 02x00h FM Music - Left Register Port Write SBPro DESCRIPTION Selects register index into left-channel synthesizer data port (02x01h) PROCEDURE a) Write register index (02x00h) b) Wait 3.3æs (0.0?æs OPL3) c) Write register data (02x01h) d) Wait 23æs (0.28æs OPL3) NOTES þ Original SoundBlaster Pros were equipped with dual OPL2 synthesizers, connecting this channel to the left speaker exclusively; whereas later models began using OPL3-compatible synthesizers, which send all output to both the left and right speakers unless programmed to do otherwise. SEE ALSO 02x00h FM Music - Left Status Port Read 02x01h FM Music - Left Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x08h FM Music - Compat. Register Port Write 0338h AdLib - Register Port Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x02h FM Music - Right Register Port Write ------------------------------------------------------------------------------ 02x01h C/MS - Register Port (Voice 1-6) Write SB Only DESCRIPTION Selects register index into C/MS voice 1-6 data port (02x00h) PROCEDURE a) Write register index (02x01h) b) Write register data (02x00h) SEE ALSO 02x00h C/MS - Data Port (Voice 1- 6) Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x03h C/MS - Register Port (Voice 7-12) Write ------------------------------------------------------------------------------ 02x01h FM Music - Left Data Register Write SBPro DESCRIPTION References currently selected left-channel synthesizer index register. PROCEDURE a) Write register index (02x00h) b) Wait 3.3æs (0.0?æs OPL3) c) Write register data (02x01h) d) Wait 23æs (0.28æs OPL3) NOTES þ Original SoundBlaster Pros were equipped with dual OPL2 synthesizers, connecting this channel to the left speaker exclusively; whereas later models began using OPL3-compatible synthesizers, which send all output to both the left and right speakers unless programmed to do otherwise. SEE ALSO 02x00h FM Music - Left Status Port Read 02x00h FM Music - Left Register Port Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x09h FM Music - Compat. Data Register Write 0339h AdLib - Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x03h FM Music - Right Data Register Write ------------------------------------------------------------------------------ 02x02h C/MS - Data Port (Voice 7-12) Write SB Only DESCRIPTION References currently selected C/MS voice 7-12 index register. PROCEDURE a) Write register index (02x03h) b) Write register data (02x02h) SEE ALSO 02x03h C/MS - Register Port (Voice 7-12) Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x00h C/MS - Data Port (Voice 1- 6) Write ------------------------------------------------------------------------------ 02x02h FM Music - Right Status Port Read SBPro DESCRIPTION Categorizes right-channel synthesizer generated timer interrupts. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timer 2 Status (1 = Expired) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timer 1 Status (1 = Expired) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Global Timer Status (1 = Active ) NOTES þ Global Timer Status will be active if either timer has expired. þ Counter period of Timer 1 is 80æs, and Timer 2 is 230æs. þ Synthesizer generated timer interrupts are signalled on IRQ0. SEE ALSO 02x02h FM Music - Right Register Port Write 02x03h FM Music - Right Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 038Ah A. Adlib - Status Port Read úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x00h FM Music - Left Status Port Read ------------------------------------------------------------------------------ 02x02h FM Music - Right Register Port Write SBPro DESCRIPTION Selects register index into right-channel synthesizer data port (02x03h) PROCEDURE a) Write register index (02x02h) b) Wait 3.3æs (0.0?æs OPL3) c) Write register data (02x03h) d) Wait 23æs (0.28æs OPL3) NOTES þ Original SoundBlaster Pros were equipped with dual OPL2 synthesizers, connecting this channel to the right speaker exclusively; whereas later models began using OPL3-compatible synthesizers, which send all output to both the left and right speakers unless programmed to do otherwise. SEE ALSO 02x02h FM Music - Right Status Port Read 02x03h FM Music - Right Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 038Ah A. Adlib - Register Port Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x00h FM Music - Left Register Port Write ------------------------------------------------------------------------------ 02x03h C/MS - Register Port (Voice 7-12) Write SB Only DESCRIPTION Selects register index into C/MS voice 7-12 data port (02x02h) PROCEDURE a) Write register index (02x03h) b) Write register data (02x02h) SEE ALSO 02x02h C/MS - Data Port (Voice 7-12) Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x01h C/MS - Register Port (Voice 1- 6) Write ------------------------------------------------------------------------------ 02x03h FM Music - Right Data Register Write SBPro DESCRIPTION References currently selected right-channel synthesizer index register. PROCEDURE a) Write register index (02x02h) b) Wait 3.3æs (0.0?æs OPL3) c) Write register data (02x03h) d) Wait 23æs (0.28æs OPL3) NOTES þ Original SoundBlaster Pros were equipped with dual OPL2 synthesizers, connecting this channel to the right speaker exclusively; whereas later models began using OPL3-compatible synthesizers, which send all output to both the left and right speakers unless programmed to do otherwise. SEE ALSO 02x02h FM Music - Right Status Port Read 02x02h FM Music - Right Register Port Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 038Bh A. Adlib - Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x01h FM Music - Left Data Register Write ------------------------------------------------------------------------------ 02x04h Mixer - Register Port Write SBPro DESCRIPTION Selects register index into mixer data port (02x05h) SELECTION BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Mixer Register Index bit 0 (SB16) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Mixer Register Index bit 3-1 (SBPro) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Mixer Register Index bit 4 (SB16) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Mixer Register Index bit 7-5 (SBPro) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ PROCEDURE a) Write mixer index (02x04h) b) Read/write mixer data (02x05h) NOTES þ See complete mixer reference later in this document. þ MediaVision 3D-series cards use this port for index and data output. SEE ALSO 02x05h Mixer - Data Register Read/Write ------------------------------------------------------------------------------ 02x05h Mixer - Data Register Read/Write SBPro DESCRIPTION References currently selected mixer index register. PROCEDURE a) Write mixer index (02x04h) b) Read/write mixer data (02x05h) NOTES þ See complete mixer reference later in this document. SEE ALSO 02x05h Mixer - Register Port Write ------------------------------------------------------------------------------ 02x06h DSP - Reset Write SB DESCRIPTION Performs complete reset of DSP, terminating all pending operations. PROCEDURE a) Write 001h b) Wait 3.3æs minimum c) Write 000h d) Wait 100æs maximum for DSP Data Available (02x0Eh) e) Read 0AAh from DSP Read Data (02x0Ah) NOTES þ Reset of DSP disables speaker (see DSP command 0D3h). ------------------------------------------------------------------------------ 02x08h FM Music - Compatible Status Port Read SB DESCRIPTION Categorizes left-channel synthesizer generated timer interrupts. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timer 2 Status (1 = Expired) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timer 1 Status (1 = Expired) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Global Timer Status (1 = Active ) NOTES þ Global Timer Status will be active if either timer has expired. þ Counter period of Timer 1 is 80æs, and Timer 2 is 230æs. þ Synthesizer generated timer interrupts are signalled on IRQ0. þ Alias for FM Music - Left Status Port (02x00h) on SBPro or higher. SEE ALSO 02x08h FM Music - Compat. Register Port Write 02x09h FM Music - Compat. Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x00h FM Music - Left Status Port Read ------------------------------------------------------------------------------ 02x08h FM Music - Compatible Register Port Write SB DESCRIPTION Selects register index into left-channel synthesizer data port (02x09h) PROCEDURE a) Write register index (02x08h) b) Wait 3.3æs (0.0?æs OPL3) c) Write register data (02x09h) d) Wait 23æs (0.28æs OPL3) NOTES þ Original SoundBlaster Pros were equipped with dual OPL2 synthesizers, connecting this channel to the left speaker exclusively; whereas later models began using OPL3-compatible synthesizers, which send all output to both the left and right speakers unless programmed to do otherwise. þ Alias for FM Music - Left Register Port (02x00h) on SBPro or higher. SEE ALSO 02x08h FM Music - Compat. Status Port Read 02x09h FM Music - Compat. Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x00h FM Music - Left Register Port Write ------------------------------------------------------------------------------ 02x09h FM Music - Compatible Data Register Write SB DESCRIPTION References currently selected left-channel synthesizer index register. PROCEDURE a) Write register index (02x08h) b) Wait 3.3æs (0.0?æs OPL3) c) Write register data (02x09h) d) Wait 23æs (0.28æs OPL3) NOTES þ Original SoundBlaster Pros were equipped with dual OPL2 synthesizers, connecting this channel to the left speaker exclusively; whereas later models began using OPL3-compatible synthesizers, which send all output to both the left and right speakers unless programmed to do otherwise. þ Alias for FM Music - Left Data Register (02x01h) on SBPro or higher. SEE ALSO 02x08h FM Music - Compat. Status Port Read 02x08h FM Music - Compat. Register Port Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x01h FM Music - Left Data Register Write ------------------------------------------------------------------------------ 02x0Ah DSP - Read Data Read SB DESCRIPTION Input port for DSP data byte reads. PROCEDURE a) Loop until bit 7 = 1 of DSP Data Available Status (02x0Eh read) b) Input byte from DSP Read Data port (02x0Ah read) NOTES þ Hard system resets occasionally cause some DSPs to leave an extraneous data byte on the bus (typically 0AAh). Perform an explicit DSP reset at application startup to correct for this. SEE ALSO 02x0Eh DSP - Data Available Status Read úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x0Ch DSP - Write Data or Command Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x06h DSP - Reset Write ---------------------------------------------------------------------------- 02x0Ch DSP - Write Data or Command Write SB DESCRIPTION Output port for DSP command and data byte writes. PROCEDURE a) Loop until bit 7 = 0 of DSP Write Buffer Status (02x0Ch read) b) Output byte to DSP Write Data or Command port (02x0Ch write) SEE ALSO 02x0Ch DSP - Write Buffer Status Read úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x0Ah DSP - Read Data Read ------------------------------------------------------------------------------ 02x0Ch DSP - Write Buffer Status Read SB DESCRIPTION Indicates whether or not DSP is ready to receive data through the DSP Write Data or Command port (02x0Ch write). STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³[6]³[5]³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (?) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Write Buffer Status (0 = Ready) PROCEDURE a) Loop until bit 7 = 0 of DSP Write Buffer Status (02x0Ch read) b) Output byte to DSP Write Data or Command port (02x0Ch write) SEE ALSO 02x0Ch DSP - Write Data or Command Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x0Eh DSP - Data Available Status Read ------------------------------------------------------------------------------ 02x0Dh DSP - Timer Interrupt Clear Read SB16??? ??? ------------------------------------------------------------------------------ 02x0Eh DSP - Data Available Status Read SB DESCRIPTION Indicates whether or not DSP has pending data to be read through the DSP Read Data port (02x0Ah read). STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³[6]³[5]³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (?) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Read Status (1 = Ready) PROCEDURE a) Loop until bit 7 = 1 of DSP Data Available Status (02x0Eh read) b) Input byte from DSP Read Data port (02x0Ah read) SEE ALSO 02x0Ah DSP - Read Data Read úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x0Ch DSP - Write Buffer Status Read ------------------------------------------------------------------------------ 02x0Eh DSP - IRQ Acknowledge, 8-bit Read SB DESCRIPTION Acknowledges an IRQ signalled by an 8-bit DSP operation. PROCEDURE a) IRQ: Read from IRQ Acknowledge, 8-bit port (02x0Eh) b) IRQ: Perform Generic EOI (020h) to appropriate PICs NOTES þ Reflects correct DSP Data Available Status from IRQ. SEE ALSO 02x0Fh DSP - IRQ Acknowledge, 16-bit Read ------------------------------------------------------------------------------ 02x0Fh DSP - IRQ Acknowledge, 16-bit Read SB16 DESCRIPTION Acknowledges an IRQ signalled by an 16-bit DSP operation. PROCEDURE a) IRQ: Read from IRQ Acknowledge, 16-bit port (02x0Fh) b) IRQ: Perform Generic EOI (020h) to appropriate PICs NOTES þ Still used for aliased 16-bit DMA (see mixer register 081h) SEE ALSO 02x0Eh DSP - IRQ Acknowledge, 8-bit Read ------------------------------------------------------------------------------ 02x10h CD-ROM - Data Register Read SBPro DESCRIPTION Input port for active CD-ROM drive data and command response reads. PROCEDURE a) Loop until bit 2 = 0 or bit 1 = 0 of CD-ROM Status Port (02x11h read) b) Input byte from CD-ROM Data Register port (02x10h read) SEE ALSO 02x11h CD-ROM - Status Port Read úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x13h CD-ROM - Enable Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x10h CD-ROM - Command Port Write ------------------------------------------------------------------------------ 02x10h CD-ROM - Command Port Write SBPro DESCRIPTION Output port for active CD-ROM drive command sequences. PROCEDURE ??? NOTES þ Command packets are seven bytes long. þ Interrupts should be disabled during output. SEE ALSO 02x13h CD-ROM - Enable Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x10h CD-ROM - Data Register Read ------------------------------------------------------------------------------ 02x11h CD-ROM - Status Port Read SBPro DESCRIPTION Indicates whether or not active CD-ROM drive is waiting for command data, has pending data available, or has prepared a command response. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³[3]³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Write Status (0 = Busy, v1.0+) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Data Available (0 = Ready) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Read Status (0 = Ready) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (1) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ SEE ALSO 02x10h CD-ROM - Data Register Read 02x10h CD-ROM - Command Port Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x13h CD-ROM - Enable Write ------------------------------------------------------------------------------ 02x12h CD-ROM - Reset Write SBPro DESCRIPTION Performs complete reset of active CD-ROM drive. PROCEDURE a) Write 001h b) Wait 82æs??? minimum c) Write 000h NOTES þ Reset will close open drive doors. SEE ALSO 02x13h CD-ROM - Enable Write ------------------------------------------------------------------------------ 02x13h CD-ROM - Enable Write SBPro DESCRIPTION Selects active CD-ROM drive on multiple drive systems. PROCEDURE ??? SEE ALSO 02x10h CD-ROM - Data Register Read 02x10h CD-ROM - Command Port Write 02x11h CD-ROM - Status Port Read 02x12h CD-ROM - Reset Write ------------------------------------------------------------------------------ 0388h AdLib - Status Port Read SB DESCRIPTION Categorizes left-channel synthesizer generated timer interrupts. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timer 2 Status (1 = Expired) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timer 1 Status (1 = Expired) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Global Timer Status (1 = Active ) NOTES þ Global Timer Status will be active if either timer has expired. þ Counter period of Timer 1 is 80æs, and Timer 2 is 230æs. þ Synthesizer generated timer interrupts are signalled on IRQ0. þ Alias for FM Music - Left Status Port (02x00h). SEE ALSO 0388h AdLib - Register Port Write 0389h AdLib - Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x00h FM Music - Left Status Port Read ------------------------------------------------------------------------------ 0388h AdLib - Register Port Write SB DESCRIPTION Selects register index into left-channel synthesizer data port (0389h) PROCEDURE a) Write register index (0388h) b) Wait 3.3æs (0.0?æs OPL3) c) Write register data (0389h) d) Wait 23æs (0.28æs OPL3) NOTES þ Original SoundBlaster Pros were equipped with dual OPL2 synthesizers, connecting this channel to the left speaker exclusively; whereas later models began using OPL3-compatible synthesizers, which send all output to both the left and right speakers unless programmed to do otherwise. þ Alias for FM Music - Left Register Port (02x00h). SEE ALSO 0388h AdLib - Status Port Read 0389h AdLib - Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x00h FM Music - Left Register Port Write ------------------------------------------------------------------------------ 0389h AdLib - Data Register Write SB DESCRIPTION References currently selected left-channel synthesizer index register. PROCEDURE a) Write register index (0388h) b) Wait 3.3æs (0.0?æs OPL3) c) Write register data (0389h) d) Wait 23æs (0.28æs OPL3) NOTES þ Original SoundBlaster Pros were equipped with dual OPL2 synthesizers, connecting this channel to the left speaker exclusively; whereas later models began using OPL3-compatible synthesizers, which send all output to both the left and right speakers unless programmed to do otherwise. þ Alias for FM Music - Left Data Register (02x01h). SEE ALSO 0388h AdLib - Status Port Read 0388h AdLib - Register Port Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x01h FM Music - Left Data Register Write ------------------------------------------------------------------------------ 038Ah Advanced AdLib - Status Port Read SB16 DESCRIPTION Categorizes right-channel synthesizer generated timer interrupts. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timer 2 Status (1 = Expired) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timer 1 Status (1 = Expired) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Global Timer Status (1 = Active ) NOTES þ Global Timer Status will be active if either timer has expired. þ Counter period of Timer 1 is 80æs, and Timer 2 is 230æs. þ Synthesizer generated timer interrupts are signalled on IRQ0. þ Alias for FM Music - Right Status Port (02x02h) on SB16 or higher. SEE ALSO 038Ah A. AdLib - Register Port Write 038Bh A. AdLib - Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x02h FM Music - Right Status Port Read ------------------------------------------------------------------------------ 038Ah Advanced AdLib - Register Port Write SB16 DESCRIPTION Selects register index into right-channel synthesizer data port (038Bh) PROCEDURE a) Write register index (038Ah) b) Wait 3.3æs (0.0?æs OPL3) c) Write register data (038Bh) d) Wait 23æs (0.28æs OPL3) NOTES þ Original SoundBlaster Pros were equipped with dual OPL2 synthesizers, connecting this channel to the left speaker exclusively; whereas later models began using OPL3-compatible synthesizers, which send all output to both the left and right speakers unless programmed to do otherwise. þ Alias for FM Music - Right Register Port (02x02h) on SB16 or higher. SEE ALSO 038Ah A. AdLib - Status Port Read 038Bh A. AdLib - Data Register Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x02h FM Music - Right Register Port Write ------------------------------------------------------------------------------ 038Bh A. AdLib - Data Register Write SB16 DESCRIPTION References currently selected right-channel synthesizer index register. PROCEDURE a) Write register index (038Ah) b) Wait 3.3æs (0.0?æs OPL3) c) Write register data (038Bh) d) Wait 23æs (0.28æs OPL3) NOTES þ Original SoundBlaster Pros were equipped with dual OPL2 synthesizers, connecting this channel to the left speaker exclusively; whereas later models began using OPL3-compatible synthesizers, which send all output to both the left and right speakers unless programmed to do otherwise. þ Alias for FM Music - Right Data Register (02x03h) on SB16 or higher. SEE ALSO 038Ah A. AdLib - Status Port Read 038Ah A. AdLib - Register Port Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02x03h FM Music - Right Data Register Write ------------------------------------------------------------------------------ 03x00h MPU-401 - Data Port Read/Write SB16??? DESCRIPTION Port for MPU-401 data transfer. PROCEDURE (R) a) Loop until bit 6 = 0 of MPU-401 Status Port (03x01h read) b) Input byte from MPU-401 Data Register port (03x00h read/write) PROCEDURE (W) a) Loop until bit 7 = 0 of MPU-401 Status Port (03x01h read) b) Output byte to MPU-401 Data Register port (03x00h read/write) SEE ALSO 03x01h MPU-401 - Status Port Read úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 03x01h MPU-401 - Command Port Write ------------------------------------------------------------------------------ 03x01h MPU-401 - Status Port Read SB16??? DESCRIPTION Indicates whether or not MPU-401 has data pending or is awaiting data. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (?) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Data Read Register (0 = Ready) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Data Set Ready (0 = Ready) SEE ALSO 03x00h MPU-401 - Data Port Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 03x01h MPU-401 - Command Port Write ------------------------------------------------------------------------------ 03x01h MPU-401 - Command Port Write SB16??? DESCRIPTION Output port for MPU-401 command sequences. PROCEDURE (W) a) Loop until bit 7 = 0 of MPU-401 Status Port (03x01h read) b) Output byte to MPU-401 Command Port (03x01h write) SEE ALSO 03x01h MPU-401 - Status Port Read úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 03x00h MPU-401 - Data Port Read/Write ------------------------------------------------------------------------------ 0201h Joystick Status Port Read/Write SB DESCRIPTION Status port for joystick button and position read. JOYSTICK BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Joystick A: Switch X (1 = Reached) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Joystick A: Switch Y (1 = Reached) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Joystick B: Switch X (1 = Reached) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Joystick B: Switch Y (1 = Reached) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Joystick A: Button 1 (0 = Active ) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Joystick A: Button 2 (0 = Active ) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Joystick B: Button 1 (0 = Active ) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Joystick B: Button 2 (0 = Active ) PROCEDURE a) Output byte to Joystick Status Port (0201h read/write) to reset timer b) Loop until all directional bits charge in Joystick Status Port (0201h read/write), use elapsed time waiting on each bit proportionally ============================================================================== DSP COMMANDS ------------------------------------------------------------------------------ 003h ASP Status SB16ASP 004h DSP Status (Obsolete) SB2.0-Pro2 004h ASP ??? SB16ASP 005h ASP ??? SB16ASP 010h Direct DAC, 8-bit SB 014h DMA DAC, 8-bit SB 016h DMA DAC, 2-bit ADPCM SB 017h DMA DAC, 2-bit ADPCM Reference SB 01Ch Auto-Initialize DMA DAC, 8-bit SB2.0 01Fh Auto-Initialize DMA DAC, 2-bit ADPCM Reference SB2.0 020h Direct ADC, 8-bit SB 024h DMA ADC, 8-bit SB 028h Direct ADC, 8-bit (Burst) SB-Pro2 02Ch Auto-Initialize DMA ADC, 8-bit SB2.0 030h MIDI Read Poll SB 031h MIDI Read Interrupt SB 032h MIDI Read Timestamp Poll SB??? 033h MIDI Read Timestamp Interrupt SB??? 034h MIDI Read Poll + Write Poll (UART) SB2.0 035h MIDI Read Interrupt + Write Poll (UART) SB2.0??? 037h MIDI Read Timestamp Interrupt + Write Poll (UART) SB2.0??? 038h MIDI Write Poll SB 040h Set Time Constant SB 041h Set Sample Rate SB16 045h Continue Auto-Initialize DMA, 8-bit SB16 047h Continue Auto-Initialize DMA, 16-bit SB16 048h Set DMA Block Size SB2.0 074h DMA DAC, 4-bit ADPCM SB 075h DMA DAC, 4-bit ADPCM Reference SB 076h DMA DAC, 2.6-bit ADPCM SB 077h DMA DAC, 2.6-bit ADPCM Reference SB 07Dh Auto-Initialize DMA DAC, 4-bit ADPCM Reference SB2.0 07Fh Auto-Initialize DMA DAC, 2.6-bit ADPCM Reference SB2.0 080h Silence DAC SB 090h Auto-Initialize DMA DAC, 8-bit (High Speed) SB2.0-Pro2 098h Auto-Initialize DMA ADC, 8-bit (High Speed) SB2.0-Pro2 0A0h Disable Stereo Input Mode SBPro Only 0A8h Enable Stereo Input Mode SBPro Only 0Bxh/0Cxh Generic DAC/ADC DMA (16-bit, 8-bit) SB16 0D0h Halt DMA Operation, 8-bit SB 0D1h Enable Speaker SB 0D3h Disable Speaker SB 0D4h Continue DMA Operation, 8-bit SB 0D5h Halt DMA Operation, 16-bit SB16 0D6h Continue DMA Operation, 16-bit SB16 0D8h Speaker Status SB 0D9h Exit Auto-Initialize DMA Operation, 16-bit SB16 0DAh Exit Auto-Initialize DMA Operation, 8-bit SB2.0 0E0h DSP Identification SB2.0 0E1h DSP Version SB 0E3h DSP Copyright SBPro2??? 0E4h Write Test Register SB2.0 0E8h Read Test Register SB2.0 0F0h Sine Generator SB 0F1h DSP Auxiliary Status (Obsolete) SB-Pro2 0F2h IRQ Request, 8-bit SB 0F3h IRQ Request, 16-bit SB16 0FBh DSP Status SB16 0FCh DSP Auxiliary Status SB16 0FDh DSP Command Status SB16 ------------------------------------------------------------------------------ 003h ASP Status SB16ASP COMMAND <-STATUS ??? ------------------------------------------------------------------------------ 004h DSP Status (Obsolete) SB2.0-Pro2 COMMAND <-STATUS DESCRIPTION Retrieves information about pending DSP operations. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Speaker Status (1 = Active) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Stereo ADC Status (1 = Active) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Reserved (0) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Direct ADC 8-bit Burst (1 = Active) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA DAC 2-bit ADPCM (1 = Active) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA DAC 2.6-bit ADPCM (1 = Active) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA DAC 4-bit ADPCM (1 = Active) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA DAC 8-bit (1 = Active) NOTES þ SoundBlaster 2.0 implements only bit 3 and 7. þ SoundBlaster Pro models do not support bit 7. SEE ALSO 0F1h DSP Auxiliary Status (Obsolete) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0FBh DSP Status 0FCh DSP Auxiliary Status 0FDh DSP Command Status úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D8h Speaker Status ------------------------------------------------------------------------------ 004h ASP ??? SB16ASP COMMAND->??? ??? ------------------------------------------------------------------------------ 005h ASP ??? SB16ASP COMMAND->DATAHIBYTE->DATALOBYTE ??? ------------------------------------------------------------------------------ 010h Direct DAC, 8-bit SB COMMAND->SAMPLEBYTE DESCRIPTION Outputs single sample. PROCEDURE a) Send Direct DAC, 8-bit command (010h) and sample b) Wait for correct timing NOTES þ Direct mode maximum sample rate is 23KHz. SEE ALSO 020h Direct ADC, 8-bit ------------------------------------------------------------------------------ 014h DMA DAC, 8-bit SB COMMAND->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Initiates 8-bit DMA transfer. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Enable Speaker command (0D1h) d) Setup DMA controller (mode = 048h + channel) e) Perform DMA DAC, 8-bit command (014h) f) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) g) Perform Disable Speaker command (0D3h) LENGTH = SAMPLES - 1 NOTES þ Use command 0Cxh to avoid SoundBlaster 16 quantization errors. SEE ALSO 0D0h Halt DMA Operation, 8-bit 0D4h Continue DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 01Ch Auto-Initialize DMA DAC, 8-bit 090h Auto-Initialize DMA DAC, 8-bit (High Speed) 0Cxh Generic DAC/ADC DMA, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 017h DMA DAC, 2-bit ADPCM Reference 075h DMA DAC, 4-bit ADPCM Reference 077h DMA DAC, 2.6-bit ADPCM Reference úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 024h DMA ADC, 8-bit ------------------------------------------------------------------------------ 016h DMA DAC, 2-bit ADPCM SB COMMAND->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Initiates 2-bit ADPCM DMA transfer with accumulated reference byte. This operation uses 8-bit DMA mode. PROCEDURE (after command 017h) a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Enable Speaker command (0D1h) d) Setup DMA controller (mode = 048h + channel) e) Perform DMA DAC, 2-bit ADPCM command (016h) f) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) g) Perform Disable Speaker command (0D3h) LENGTH = (SAMPLES-1 + 3)/4 NOTES þ Supports up to 11KHz on SoundBlaster 1.x þ Ensoniq Soundscape does not support ADPCM. SEE ALSO 0D0h Halt DMA Operation, 8-bit 0D4h Continue DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 017h DMA DAC, 2-bit ADPCM Reference úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 074h DMA DAC, 4-bit ADPCM 076h DMA DAC, 2.6-bit ADPCM ------------------------------------------------------------------------------ 017h DMA DAC, 2-bit ADPCM Reference SB COMMAND->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Initiates 2-bit ADPCM DMA transfer with new reference byte. This operation uses 8-bit DMA mode. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Enable Speaker command (0D1h) d) Setup DMA controller (mode = 048h + channel) e) Perform DMA DAC, 2-bit ADPCM Reference command (017h) f) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) g) Perform Disable Speaker command (0D3h) LENGTH = (SAMPLES-1 + 3)/4 + 1 NOTES þ Supports up to 11KHz on SoundBlaster 1.x þ Ensoniq Soundscape does not support ADPCM. SEE ALSO 0D0h Halt DMA Operation, 8-bit 0D4h Continue DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 016h DMA DAC, 2-bit ADPCM úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 075h DMA DAC, 4-bit ADPCM Reference 077h DMA DAC, 2.6-bit ADPCM Reference ------------------------------------------------------------------------------ 01Ch Auto-Initialize DMA DAC, 8-bit SB2.0 COMMAND DESCRIPTION Initiates auto-initialize 8-bit DMA transfer. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Set DMA Block Size command (048h) d) Perform Enable Speaker command (0D1h) e) Setup DMA controller (mode = 058h + channel) f) Perform Auto-Initialize DMA DAC, 8-bit command (01Ch) g) IRQ: Prepare next half of buffer (not always in handler) h) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) i) Loop to G until complete j) Perform Disable Speaker command (0D3h) k) Perform Halt DMA Operation, 8-bit command (0D0h - for virtual speaker) l) Perform Exit Auto-Initialize DMA Operation, 8-bit command (0DAh) m) Perform Halt DMA Operation, 8-bit command (0D0h - for virtual speaker) NOTES þ Supports up to 23KHz (11.5KHz stereo???) þ Exit auto-initialized mode by programming single-cycle DMA output or with Exit Auto-Initialize DMA Operation, 8-bit (0DAh). þ Use command 0Cxh to avoid SoundBlaster 16 quantization errors. LENGTH = (SAMPLES + 1)/2 - 1 SEE ALSO 048h Set DMA Block Size úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D0h Halt DMA Operation, 8-bit 045h Continue Auto-Initialize DMA Operation, 8-bit 0DAh Exit Auto-Initialize DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 090h Auto-Initialize DMA DAC, 8-bit (High Speed) 0Cxh Generic DAC/ADC DMA, 8-bit ------------------------------------------------------------------------------ 01Fh Auto-Initialize DMA DAC, 2-bit ADPCM Reference SB2.0 COMMAND DESCRIPTION Initiates auto-initialize 2-bit ADPCM DMA transfer with reference byte. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Set DMA Block Size command (048h) d) Perform Enable Speaker command (0D1h) e) Setup DMA controller (mode = 058h + channel) f) Perform Auto-Initialize DMA DAC, 2-bit ADPCM command (01Fh) g) IRQ: Prepare next half of buffer (not always in handler) h) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) i) Loop to G until complete j) Perform Disable Speaker command (0D3h) k) Perform Halt DMA Operation, 8-bit command (0D0h - for virtual speaker) l) Perform Exit Auto-Initialize DMA Operation, 8-bit command (0DAh) m) Perform Halt DMA Operation, 8-bit command (0D0h - for virtual speaker) NOTES þ Exit auto-initialized mode by programming single-cycle DMA output or with Exit Auto-Initialize DMA Operation, 8-bit (0DAh). þ Ensoniq Soundscape does not support ADPCM. SAMPLEBYTES = (SAMPLES + 3)/4 + 1 LENGTH = (SAMPLEBYTES + 1)/2 - 1 SEE ALSO 048h Set DMA Block Size úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D0h Halt DMA Operation, 8-bit 045h Continue Auto-Initialize DMA Operation, 8-bit 0DAh Exit Auto-Initialize DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 017h DMA DAC, 2-bit ADPCM Reference úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 07Dh Auto-Initialize DMA DAC, 4-bit ADPCM Reference 07Fh Auto-Initialize DMA DAC, 2.6-bit ADPCM Reference ------------------------------------------------------------------------------ 020h Direct ADC, 8-bit SB COMMAND <-SAMPLEBYTE DESCRIPTION Inputs single sample. PROCEDURE a) Send Direct ADC, 8-bit command (020h) b) Read sample c) Wait for correct timing NOTES þ Direct mode maximum sample rate is 23KHz. SEE ALSO 010h Direct DAC, 8-bit ------------------------------------------------------------------------------ 024h DMA ADC, 8-bit SB COMMAND->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Initiates 8-bit DMA transfer (record). PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Enable Speaker command (0D1h) d) Setup DMA controller (mode = 044h + channel) e) Perform DMA ADC, 8-bit command (024h) f) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) g) Perform Disable Speaker command (0D3h) LENGTH = SAMPLES - 1 NOTES þ SoundBlasters prior to SB16 return the first sample in direct mode. SEE ALSO 0D0h Halt DMA Operation, 8-bit 0D4h Continue DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02Ch Auto-Initialize DMA ADC, 8-bit 098h Auto-Initialize DMA ADC, 8-bit (High Speed) 0Cxh Generic DAC/ADC DMA, 8-bit ------------------------------------------------------------------------------ 028h Direct ADC, 8-bit (Burst) SB-Pro2 COMMAND <-SAMPLEBYTE0...SAMPLEBYTEn DESCRIPTION ??? PROCEDURE ??? NOTES þ Terminate operation with DSP reset. SEE ALSO 020h Direct ADC, 8-bit ------------------------------------------------------------------------------ 02Ch Auto-Initialize DMA ADC, 8-bit SB2.0 COMMAND DESCRIPTION Initiates auto-initialize 8-bit DMA transfer (record). PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Set DMA Block Size command (048h) d) Perform Enable Speaker command (0D1h) e) Setup DMA controller (mode = 054h + channel) f) Perform Auto-Initialize DMA ADC, 8-bit command (02Ch) g) IRQ: Prepare next half of buffer (not always in handler) h) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) i) Loop to G until complete j) Perform Disable Speaker command (0D3h) k) Perform Halt DMA Operation, 8-bit command (0D0h - for virtual speaker) l) Perform Exit Auto-Initialize DMA Operation, 8-bit command (0DAh) m) Perform Halt DMA Operation, 8-bit command (0D0h - for virtual speaker) NOTES þ Supports up to 23KHz (11.5KHz stereo???) þ Exit auto-initialized mode by programming single-cycle DMA output or with Exit Auto-Initialize DMA Operation, 8-bit (0DAh). þ Use command 0Cxh to avoid SoundBlaster 16 quantization errors. LENGTH = (SAMPLES + 1)/2 - 1 SEE ALSO 048h Set DMA Block Size úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D0h Halt DMA Operation, 8-bit 045h Continue Auto-Initialize DMA Operation, 8-bit 0DAh Exit Auto-Initialize DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 098h Auto-Initialize DMA ADC, 8-bit (High Speed) 0Cxh Generic DAC/ADC DMA, 8-bit ------------------------------------------------------------------------------ 030h MIDI Read Poll SB COMMAND <-MIDICODE DESCRIPTION Reads MIDI code. PROCEDURE a) Send MIDI Read Poll command (030h) b) Read MIDI code when available NOTES þ SoundBlasters buffer up to 64bytes of MIDI data. SEE ALSO 031h MIDI Read Interrupt úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 032h MIDI Read Timestamp Poll 033h MIDI Read Timestamp Interrupt úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 034h MIDI Read Poll + Write Poll (UART) 035h MIDI Read Interrupt + Write Poll (UART) 037h MIDI Read Timestamp Interrupt + Write Poll (UART) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 038h MIDI Write Poll ------------------------------------------------------------------------------ 031h MIDI Read Interrupt SB COMMAND {<-MIDICODE} DESCRIPTION Generates interrupt when MIDI code is available. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform MIDI Read Interrupt command (031h) c) IRQ: Read MIDI code d) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) e) Perform MIDI Read Interrupt command (031h) to terminate NOTES þ SoundBlasters buffer up to 64bytes of MIDI data. SEE ALSO 033h MIDI Read Timestamp Interrupt úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 035h MIDI Read Interrupt + Write Poll (UART) 037h MIDI Read Timestamp Interrupt + Write Poll (UART) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 030h MIDI Read Poll ----------------------------------------------------------------------------- 032h MIDI Read Timestamp Poll SB??? COMMAND <-TIMESTAMPLOBYTE<-TIMESTAMPMIDBYTE<-TIMESTAMPHIBYTE<-MIDICODE DESCRIPTION Reads MIDI code with timestamp. PROCEDURE a) Send MIDI Read Timestamp Poll command (032h) b) Read timestamp and MIDI code when available NOTES þ Timestamp if 24-bit value containing the time since the last MIDI command in milliseconds. þ SoundBlasters buffer up to 64bytes of MIDI data. SEE ALSO 033h MIDI Read Timestamp Interrupt úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 037h MIDI Read Timestamp Interrupt + Write Poll (UART) ------------------------------------------------------------------------------ 033h MIDI Read Timestamp Interrupt SB??? COMMAND {<-TIMESTAMPLOBYTE<-TIMESTAMPMIDBYTE<-TIMESTAMPHIBYTE<-MIDICODE} DESCRIPTION Generates interrupt when MIDI code is available, includes timestamp. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform MIDI Read Interrupt with Timestamp command (033h) c) IRQ: Read MIDI code with timestamp d) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) e) Perform MIDI Read Interrupt with Timestamp command (033h) to terminate NOTES þ Timestamp if 24-bit value containing the time since the last MIDI command in milliseconds. þ SoundBlasters buffer up to 64bytes of MIDI data. SEE ALSO 032h MIDI Read Timestamp Poll úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 037h MIDI Read Timestamp Interrupt + Write Poll (UART) ------------------------------------------------------------------------------ 034h MIDI Read Poll + Write Poll (UART) SB2.0 COMMAND [->MIDICODE] [<-MIDICODE] DESCRIPTION Enables UART mode, where all DSP read/writes are interpreted as MIDI codes. PROCEDURE a) Send MIDI Read Poll + Write Poll (UART) command (034h) b) Send and receive MIDI codes c) Reset DSP to terminate NOTES þ Disable UART mode with DSP reset (port 02x06h) þ Read/write status must still be checked (port 02x0Eh/02x0Ch) þ SoundBlasters buffer up to 64bytes of MIDI data. SEE ALSO 030h MIDI Read Poll 038h MIDI Write Poll úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 035h MIDI Read Interrupt + Write Poll (UART) 037h MIDI Read Timestamp Interrupt + Write Poll (UART) ------------------------------------------------------------------------------ 035h MIDI Read Interrupt + Write Poll (UART) SB2.0??? COMMAND [->MIDICODE] {<-MIDICODE} DESCRIPTION Enables UART mode with interrupt, where all DSP writes are interpreted as MIDI codes and interrupts are generated when a MIDI code is to be read. PROCEDURE a) Send MIDI Read Interrupt + Write Poll (UART) command (035h) b) Send and receive MIDI codes (see command 031h) c) Reset DSP to terminate NOTES þ Disable UART mode with DSP reset (port 02x06h) þ Write buffer status must still be checked (port 02x0Ch) þ SoundBlasters buffer up to 64bytes of MIDI data. SEE ALSO 034h MIDI Read Poll + Write Poll (UART) 037h MIDI Read Timestamp Interrupt + Write Poll (UART) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 031h MIDI Read Interrupt ------------------------------------------------------------------------------ 037h MIDI Read Timestamp Interrupt + Write Poll (UART) SB2.0??? COMMAND [->MIDICODE] {<-TIMESTAMPLOBYTE<-TIMESTAMPMIDBYTE<-TIMESTAMPHIBYTE<-MIDICODE} DESCRIPTION Enables UART mode with interrupt, where all DSP writes are interpreted as MIDI codes and interrupts are generated when a timestamped MIDI code is to be read. PROCEDURE a) Send MIDI Read Timestamp Interrupt + Write Poll (UART) command (037h) b) Send and receive MIDI codes with timestamps (see command 033h) c) Reset DSP to terminate NOTES þ Disable UART mode with DSP reset (port 02x06h) þ Write buffer status must still be checked (port 02x0Ch) þ SoundBlasters buffer up to 64bytes of MIDI data. SEE ALSO 034h MIDI Read Poll + Write Poll (UART) 035h MIDI Read Interrupt + Write Poll (UART) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 038h MIDI Write Poll ------------------------------------------------------------------------------ 038h MIDI Write Poll SB COMMAND->MIDICODE DESCRIPTION Writes MIDI code. PROCEDURE a) Send MIDI Write Poll command (038h) and data SEE ALSO 034h MIDI Read Poll + Write Poll (UART) 035h MIDI Read Interrupt + Write Poll (UART) 037h MIDI Read Timestamp Interrupt + Write Poll (UART) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 030h MIDI Read Poll ------------------------------------------------------------------------------ 040h Set Time Constant SB COMMAND->TIMEBYTE DESCRIPTION Sets sample rate through internal I/O transfer timer. FORMULA TimeConstant = 256 - (1000000 / (SampleChannels * SampleRate)) NOTES þ For non-SoundBlaster Pro cards, always set SampleChannels equal to one. SEE ALSO 041h Set Sample Rate ------------------------------------------------------------------------------ 041h Set Sample Rate SB16 COMMAND->RATEHIBYTE->RATELOBYTE DESCRIPTION Sets sample rate. NOTES þ Sampling rate precision is truncated to nearest time constant. þ Sampling rate is programmed independent of stereo or monaural modes. SEE ALSO 040h Set Time Constant ------------------------------------------------------------------------------ 045h Continue Auto-Initialize DMA, 8-bit SB16 COMMAND DESCRIPTION Continues a halted auto-initialized 8-bit DMA operation. SEE ALSO 0DAh Exit Auto-Initialize DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0Cxh Generic DAC/ADC, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 01Ch Auto-Initialize DMA DAC, 8-bit 01Fh Auto-Initialize DMA DAC, 2-bit ADPCM 02Ch Auto-Initialize DMA ADC, 8-bit 07Dh Auto-Initialize DMA DAC, 4-bit ADPCM 07Fh Auto-Initialize DMA DAC, 2.6-bit ADPCM 090h Auto-Initialize DMA DAC, 8-bit (High Speed) 098h Auto-Initialize DMA ADC, 8-bit (High Speed) ------------------------------------------------------------------------------ 047h Continue Auto-Initialize DMA, 16-bit SB16 COMMAND DESCRIPTION Continues a halted auto-initialized 16-bit DMA operation. SEE ALSO 0D9h Exit Auto-Initialize DMA, 16-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0Bxh Generic DAC/ADC, 16-bit ------------------------------------------------------------------------------ 048h Set DMA Block Size SB2.0 COMMAND->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Set DMA transfer size for auto-initialize and high speed modes. SAMPLEBYTES = SAMPLES 8-bit (SAMPLES-1 + 1)/2 + 1 4-bit ADPCM + Reference (SAMPLES-1 + 2)/3 + 1 2.6-bit ADPCM + Reference (SAMPLES-1 + 3)/4 + 1 2-bit ADPCM + Reference LENGTH = SAMPLEBYTES - 1 (Single Cycle) (SAMPLEBYTES + 1)/2 - 1 (Auto-Init ) NOTES þ Length is always equal to the number of bytes to transfer minus one. SEE ALSO 01Ch Auto-Initialize DMA DAC, 8-bit 01Fh Auto-Initialize DMA DAC, 2-bit ADPCM 02Ch Auto-Initialize DMA ADC, 8-bit 07Dh Auto-Initialize DMA DAC, 4-bit ADPCM 07Fh Auto-Initialize DMA DAC, 2.6-bit ADPCM 090h Auto-Initialize DMA DAC, 8-bit (High Speed) 098h Auto-Initialize DMA ADC, 8-bit (High Speed) ------------------------------------------------------------------------------ 074h DMA DAC, 4-bit ADPCM SB COMMAND->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Initiates 4-bit ADPCM DMA transfer with accumulated reference byte. This operation uses 8-bit DMA mode. PROCEDURE (after command 075h) a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Enable Speaker command (0D1h) d) Setup DMA controller (mode = 048h + channel) e) Perform DMA DAC, 4-bit ADPCM command (074h) f) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) g) Perform Disable Speaker command (0D3h) LENGTH = (SAMPLES-1 + 1)/2 NOTES þ Supports up to 12KHz on SoundBlaster 1.x þ Ensoniq Soundscape does not support ADPCM. SEE ALSO 0D0h Halt DMA Operation, 8-bit 0D4h Continue DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 074h DMA DAC, 4-bit ADPCM Reference úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 016h DMA DAC, 2-bit ADPCM 076h DMA DAC, 2.6-bit ADPCM ------------------------------------------------------------------------------ 075h DMA DAC, 4-bit ADPCM Reference SB COMMAND->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Initiates 4-bit ADPCM DMA transfer with new reference byte. This operation uses 8-bit DMA mode. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Enable Speaker command (0D1h) d) Setup DMA controller (mode = 048h + channel) e) Perform DMA DAC, 4-bit ADPCM Reference command (075h) f) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) g) Perform Disable Speaker command (0D3h) LENGTH = (SAMPLES-1 + 1)/2 + 1 NOTES þ Supports up to 12KHz on SoundBlaster 1.x þ Ensoniq Soundscape does not support ADPCM. SEE ALSO 0D0h Halt DMA Operation, 8-bit 0D4h Continue DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 075h DMA DAC, 4-bit ADPCM úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 017h DMA DAC, 2-bit ADPCM Reference 077h DMA DAC, 2.6-bit ADPCM Reference ------------------------------------------------------------------------------ 076h DMA DAC, 2.6-bit ADPCM SB COMMAND->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Initiates 2.6-bit ADPCM DMA transfer with accumulated reference byte. This operation uses 8-bit DMA mode. PROCEDURE (after command 077h) a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Enable Speaker command (0D1h) d) Setup DMA controller (mode = 048h + channel) e) Perform DMA DAC, 2.6-bit ADPCM command (076h) f) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) g) Perform Disable Speaker command (0D3h) LENGTH = (SAMPLES-1 + 2)/3 NOTES þ Supports up to 13KHz on SoundBlaster 1.x þ Ensoniq Soundscape does not support ADPCM. SEE ALSO 0D0h Halt DMA Operation, 8-bit 0D4h Continue DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 077h DMA DAC, 2.6-bit ADPCM Reference úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 016h DMA DAC, 2-bit ADPCM 074h DMA DAC, 4-bit ADPCM ------------------------------------------------------------------------------ 077h DMA DAC, 2.6-bit ADPCM Reference SB COMMAND->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Initiates 2.6-bit ADPCM DMA transfer with new reference byte. This operation uses 8-bit DMA mode. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Enable Speaker command (0D1h) d) Setup DMA controller (mode = 048h + channel) e) Perform DMA DAC, 2.6-bit ADPCM Reference command (077h) f) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) g) Perform Disable Speaker command (0D3h) LENGTH = (SAMPLES-1 + 2)/3 + 1 NOTES þ Supports up to 13KHz on SoundBlaster 1.x þ Ensoniq Soundscape does not support ADPCM. SEE ALSO 0D0h Halt DMA Operation, 8-bit 0D4h Continue DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 076h DMA DAC, 2.6-bit ADPCM úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 017h DMA DAC, 2-bit ADPCM Reference 075h DMA DAC, 4-bit ADPCM Reference ------------------------------------------------------------------------------ 07Dh Auto-Initialize DMA DAC, 4-bit ADPCM Reference SB2.0 COMMAND DESCRIPTION Initiates auto-initialize 4-bit ADPCM DMA transfer with reference byte. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Set DMA Block Size command (048h) d) Perform Enable Speaker command (0D1h) e) Setup DMA controller (mode = 058h + channel) f) Perform Auto-Initialize DMA DAC, 4-bit ADPCM command (07Dh) g) IRQ: Prepare next half of buffer (not always in handler) h) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) i) Loop to G until complete j) Perform Disable Speaker command (0D3h) k) Perform Halt DMA Operation, 8-bit command (0D0h - for virtual speaker) l) Perform Exit Auto-Initialize DMA Operation, 8-bit command (0DAh) m) Perform Halt DMA Operation, 8-bit command (0D0h - for virtual speaker) NOTES þ Exit auto-initialized mode by programming single-cycle DMA output or with Exit Auto-Initialize DMA Operation, 8-bit (0DAh). þ Ensoniq Soundscape does not support ADPCM. SAMPLEBYTES = (SAMPLES + 1)/2 + 1 LENGTH = (SAMPLEBYTES + 1)/2 - 1 SEE ALSO 048h Set DMA Block Size úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D0h Halt DMA Operation, 8-bit 045h Continue Auto-Initialize DMA Operation, 8-bit 0DAh Exit Auto-Initialize DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 075h DMA DAC, 4-bit ADPCM Reference úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 01Fh Auto-Initialize DMA DAC, 2-bit ADPCM Reference 07Fh Auto-Initialize DMA DAC, 2.6-bit ADPCM Reference ------------------------------------------------------------------------------ 07Fh Auto-Initialize DMA DAC, 2.6-bit ADPCM Reference SB2.0 COMMAND DESCRIPTION Initiates auto-initialize 2.6-bit ADPCM DMA transfer with reference byte. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Set DMA Block Size command (048h) d) Perform Enable Speaker command (0D1h) e) Setup DMA controller (mode = 058h + channel) f) Perform Auto-Initialize DMA DAC, 2.6-bit ADPCM command (07Fh) g) IRQ: Prepare next half of buffer (not always in handler) h) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) i) Loop to G until complete j) Perform Disable Speaker command (0D3h) k) Perform Halt DMA Operation, 8-bit command (0D0h - for virtual speaker) l) Perform Exit Auto-Initialize DMA Operation, 8-bit command (0DAh) m) Perform Halt DMA Operation, 8-bit command (0D0h - for virtual speaker) NOTES þ Exit auto-initialized mode by programming single-cycle DMA output or with Exit Auto-Initialize DMA Operation, 8-bit (0DAh). þ Ensoniq Soundscape does not support ADPCM. SAMPLEBYTES = (SAMPLES + 2)/3 + 1 LENGTH = (SAMPLEBYTES + 1)/2 - 1 SEE ALSO 048h Set DMA Block Size úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D0h Halt DMA Operation, 8-bit 045h Continue Auto-Initialize DMA Operation, 8-bit 0DAh Exit Auto-Initialize DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 077h DMA DAC, 2.6-bit ADPCM Reference úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 01Fh Auto-Initialize DMA DAC, 2-bit ADPCM Reference 07Dh Auto-Initialize DMA DAC, 4-bit ADPCM Reference ------------------------------------------------------------------------------ 080h Silence DAC SB COMMAND->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Outputs block of silent samples at current sample rate, and signals IRQ when complete. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Silence DAC command (080h) d) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) e) Remove IRQ handler (restore vector, restore PIC mask) LENGTH = SAMPLES - 1 SEE ALSO 040h Set Time Constant ------------------------------------------------------------------------------ 090h Auto-Initialize DMA DAC, 8-bit (High Speed) SB2.0-Pro2 COMMAND DESCRIPTION Initiates 8-bit DMA transfer (>23KHz). PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Set DMA Block Size command (048h) d) Perform Enable Speaker command (0D1h) e) Setup DMA controller (mode = 058h + channel) f) Perform Auto-Initialize DMA DAC, 8-bit (HighSpeed) command (090h) g) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) h) Reset DSP (or terminate normally on SB16+) NOTES þ High speed mode ignores DSP commands during transfers (23KHz). PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Perform Set DMA Block Size command (048h) d) Perform Enable Speaker command (0D1h) e) Setup DMA controller (mode = 054h + channel) f) Perform Auto-Initialize DMA ADC, 8-bit (HighSpeed) command (098h) g) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) h) Reset DSP (or terminate normally on SB16+) NOTES þ High speed mode ignores DSP commands during transfers (MODE->LENGTHLOBYTE->LENGTHHIBYTE DESCRIPTION Generalized sampling and playback command (includes 16-bit operations). PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform Set Time Constant command (040h), or otherwise set sample rate c) Setup DMA controller (mode = mode + channel) d) Perform Generic DAC/ADC DMA command (0Bxh/0Cxh) e) IRQ: Acknowledge IRQ (input from IRQ Acknowledge port - 02x0Eh/02x0Fh; perform Generic EOI (020h) to appropriate PICs) f) Terminate transfer, method dependent on mode COMMAND BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º(7)³(6)³(5)³(4)³ 3 ³ 2 ³ 1 ³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ FIFO Mode (0 = Disable, 1 = Enable) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ DMA Mode (0 = Single, 1 = Auto-Init) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Transfer Mode (0 = DAC, 1 = ADC) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄ Sampling Resolution ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ 1011b = 16-bit, 1100b = 8-bit ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ MODE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³ 5 ³ 4 ³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Sample Mode (0 = Unsigned, 1 = Signed) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Stereo Mode (0 = Monaural, 1 = Stereo) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ LENGTH = SAMPLES - 1 (even for 16-bit samples) NOTES þ Enable FIFO mode for high speed mode or large data transfers. þ BUG: SoundBlaster 16 ADC only accurate to 12-bits. SEE ALSO 0D0h Halt DMA Operation, 8-bit 0D4h Continue DMA Operation, 8-bit 045h Continue Auto-Initialize DMA Operation, 8-bit 0DAh Exit Auto-Initialize DMA Operation, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D5h Halt DMA Operation, 16-bit 0D6h Continue DMA Operation, 16-bit 047h Continue Auto-Initialize DMA, 16-bit 0D9h Exit Auto-Initialize DMA Operation, 16-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 014h DMA DAC, 8-bit 024h DMA ADC, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 01Ch Auto-Initialize DMA DAC, 8-bit 02Ch Auto-Initialize DMA ADC, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 090h Auto-Initialize DMA DAC, 8-bit (High Speed) 098h Auto-Initialize DMA ADC, 8-bit (High Speed) ------------------------------------------------------------------------------ 0D0h Halt DMA Operation, 8-bit SB COMMAND DESCRIPTION Pauses 8-bit single-cycle DMA operation. NOTES þ Halts every 8-bit DMA mode on SoundBlaster 16. þ BUG: Halts 16-bit DMA operation on early SoundBlaster 16s (4.04). SEE ALSO 0D4h Continue DMA Operation, 8-bit 0DAh Exit Auto-Initialize DMA Operation, 8-bit ------------------------------------------------------------------------------ 0D1h Enable Speaker SB COMMAND DESCRIPTION Enables speaker output. NOTES þ Reset of DSP disables speaker. þ BUG: Halts pending DMA operations on SoundBlaster 1.x. þ BUG: Enabled speaker generates sampling noise on SoundBlaster 2.0. þ BUG: Speaker MUST be disabled before sampling on SoundBlaster Pro. þ BUG: Speaker state does NOT physically change on SoundBlaster 16. þ Originator of noisy 'pops' on some models (capacitor discharge). SEE ALSO 0D3h Disable Speaker ------------------------------------------------------------------------------ 0D3h Disable Speaker SB COMMAND DESCRIPTION Disables speaker output. NOTES þ Reset of DSP disables speaker. þ BUG: Halts pending DMA operations on SoundBlaster 1.x. þ BUG: Enabled speaker generates sampling noise on SoundBlaster 2.0. þ BUG: Speaker MUST be disabled before sampling on SoundBlaster Pro. þ BUG: Speaker state does NOT physically change on SoundBlaster 16. þ Originator of noisy 'pops' on some models (capacitor discharge). SEE ALSO 0D1h Enable Speaker ------------------------------------------------------------------------------ 0D4h Continue DMA Operation, 8-bit SB COMMAND DESCRIPTION Continues a halted 8-bit single-cycle DMA operation. NOTES þ Continues every 8-bit DMA mode on SoundBlaster 16. þ BUG: Continues 16-bit DMA operation on early SoundBlaster 16 (4.04). SEE ALSO 0D0h Halt DMA Operation, 8-bit 0DAh Exit Auto-Initialize DMA Operation, 8-bit ------------------------------------------------------------------------------ 0D5h Halt DMA Operation, 16-bit SB16 COMMAND DESCRIPTION Pauses any 16-bit DMA operation. SEE ALSO 0D6h Continue DMA Operation, 16-bit 0D9h Exit Auto-Initialize DMA Operation, 16-bit ------------------------------------------------------------------------------ 0D6h Continue DMA Operation, 16-bit SB16 COMMAND DESCRIPTION Continues any halted 16-bit DMA operation. SEE ALSO 0D5h Halt DMA Operation, 16-bit 0D9h Exit Auto-Initialize DMA Operation, 16-bit ------------------------------------------------------------------------------ 0D8h Speaker Status SB COMMAND <-STATUS DESCRIPTION Determines current status of speaker. STATUS BYTE 000h = Disabled 0FFh = Enabled NOTES þ Reset of DSP disables speaker. SEE ALSO 0D1h Enable Speaker 0D3h Disable Speaker úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 004h DSP Status (Obsolete) 0F1h DSP Auxiliary Status (Obsolete) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0FBh DSP Status 0FCh DSP Auxiliary Status 0FDh DSP Command Status ------------------------------------------------------------------------------ 0D9h Exit Auto-Initialize DMA Operation, 16-bit SB16 COMMAND DESCRIPTION Terminates auto-initialized 16-bit DMA operation after current block. PROCEDURE a) Perform Disable Speaker command (0D3h) b) Perform Halt DMA Operation, 16-bit command (0D5h - virtual speaker) c) Perform Exit Auto-Initialize DMA Operation, 16-bit command (0D9h) d) Perform Halt DMA Operation, 16-bit command (0D5h - virtual speaker) NOTES þ Halt commands are required for immediate termination and to quiet SB16. SEE ALSO 0D5h Halt DMA Operation, 16-bit 047h Continue Auto-Initialize DMA, 16-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D3h Disable Speaker ------------------------------------------------------------------------------ 0DAh Exit Auto-Initialize DMA Operation, 8-bit SB2.0 COMMAND DESCRIPTION Terminates auto-initialized 8-bit DMA operations after current block. PROCEDURE a) Perform Disable Speaker command (0D3h) b) Perform Halt DMA Operation, 8-bit command (0D0h - virtual speaker) c) Perform Exit Auto-Initialize DMA Operation, 8-bit command (0DAh) d) Perform Halt DMA Operation, 8-bit command (0D0h - virtual speaker) NOTES þ Halt commands are required for immediate termination and to quiet SB16. SEE ALSO 0D0h Halt DMA Operation, 8-bit 045h Continue Auto-Initialize DMA, 8-bit úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D3h Disable Speaker ------------------------------------------------------------------------------ 0E0h DSP Identification SB2.0 COMMAND->DATA <-NOT(DATA) DESCRIPTION Returns bitwise NOT of data byte. NOTES þ Results reliable only after DSP reset on early models. SEE ALSO 0E1h DSP Version 0E3h DSP Copyright ------------------------------------------------------------------------------ 0E1h DSP Version SB COMMAND <-MAJORVERSIONBYTE<-MINORVERSIONBYTE DESCRIPTION Determines DSP major and minor version. MODEL VERSION SoundBlaster 1.0 1.?? (1.05???) SoundBlaster 1.5 1.?? (1.05???) SoundBlaster 2.0 2.xx (2.01) SoundBlaster Pro 3.00 (???) SoundBlaster Pro 2 3.01+ (3.01, 3.02) SoundBlaster 16 4.0x (4.04, 4.05) SoundBlaster 16 SCSI-2 4.11 (4.11) SoundBlaster AWE32 4.12+ (4.12) NOTES þ Ensure that no other card is mapped at the same port address by performing this command twice, checking for a consistent result. þ BUG: Some SB1.x clones errantly return version 2.00. þ BUG: Some SB16 SCSI-2s experience daughterboard communication errors. SEE ALSO 0E0h DSP Identification 0E3h DSP Copyright ------------------------------------------------------------------------------ 0E3h DSP Copyright SBPro2??? COMMAND <-ASCII0...ASCIIn<-000h DESCRIPTION Reads DSP copyright string. PROCEDURE a) Send DSP Copyright command byte (0E3h) b) Read string byte c) Loop to B while string byte is not zero SEE ALSO 0E0h DSP Identification 0E1h DSP Version ------------------------------------------------------------------------------ 0E4h Write Test Register SB2.0 COMMAND->TESTBYTE DESCRIPTION Writes diagnostic register. NOTES þ DSP reset does not clear the test register. SEE ALSO 0E8h Read Test Register ------------------------------------------------------------------------------ 0E8h Read Test Register SB2.0 COMMAND <-TESTBYTE DESCRIPTION Reads diagnostic register. NOTES þ DSP reset does not clear the test register. SEE ALSO 0E4h Write Test Register ------------------------------------------------------------------------------ 0F0h Sine Generator SB COMMAND DESCRIPTION Diagnostic peak-to-peak sine wave generator. NOTES þ Disable sound with DSP reset. þ Sinusodal frequency is about 2KHz. þ Sets time constant to approximately 0C0h (15625Hz). þ Enables speaker on models prior to SoundBlaster 16. ------------------------------------------------------------------------------ 0F1h DSP Auxiliary Status (Obsolete) SB-Pro2 COMMAND <-STATUS DESCRIPTION Retrieves auxiliary information about pending DSP operations. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³[1]³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Speaker Status (0 = Enabled) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Reserved (1) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ DSPC 0ACh ??? ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Stereo Input Mode (1 = Stereo) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reserved (1) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DSPC 020h-02Fh (SB1.x) ??? ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DSPC 02Dh-02Fh (SB1.x) ??? ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ??? NOTES þ SoundBlaster Pro introduces bit 3. SEE ALSO 004h DSP Status (Obsolete) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0FBh DSP Status 0FCh DSP Auxiliary Status 0FDh DSP Command Status úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D8h Speaker Status ------------------------------------------------------------------------------ 0F2h IRQ Request, 8-bit SB COMMAND DESCRIPTION Triggers 8-bit interrupt. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform IRQ Request, 8-bit command (0F2h) c) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 8-bit port - 02x0Eh; perform Generic EOI (020h) to appropriate PICs) SEE ALSO 0F3h Interrupt Request, 16-bit ------------------------------------------------------------------------------ 0F3h IRQ Request, 16-bit SB16 COMMAND DESCRIPTION Triggers 16-bit interrupt. PROCEDURE a) Install IRQ handler (hook vector, update PIC mask) b) Perform IRQ Request, 16-bit command (0F3h) c) IRQ: Acknowledge IRQ (input from IRQ Acknowledge, 16-bit port - 02x0Fh; perform Generic EOI (020h) to appropriate PICs) SEE ALSO 0F2h Interrupt Request, 8-bit ------------------------------------------------------------------------------ 0FBh DSP Status SB16 COMMAND <-STATUS DESCRIPTION Retrieves information about pending DSP operations. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ DMA DAC, 8-bit (1 = Active) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ DMA ADC, 8-bit (1 = Active) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ DMA DAC, 16-bit (1 = Active) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA ADC, 16-bit (1 = Active) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Virtual Speaker (1 = Active) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ??? ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DSPC 04Fh ??? ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Time Constant (1 = Modified) NOTES þ Time Constant bit will not be set if too large a time constant was programmed (low sample rate). þ MediaVision 3D-series cards use this command for DMA and IRQ selection. SEE ALSO 0FCh DSP Auxiliary Status 0FDh DSP Command Status úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 004h DSP Status (Obsolete) 0F1h DSP Auxiliary Status (Obsolete) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D8h Speaker Status ------------------------------------------------------------------------------ 0FCh DSP Auxiliary Status SB16 COMMAND <-STATUS DESCRIPTION Retrieves auxiliary information about pending DMA operations. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ ??? ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ DAC/ADC DMA (1 = Synchronous) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Auto-Init DMA, 8-bit (1 = Active) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ??? ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Auto-Init DMA, 16-bit (1 = Active) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ??? ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ??? ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ??? SEE ALSO 0FBh DSP Status 0FDh DSP Command Status úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 004h DSP Status (Obsolete) 0F1h DSP Auxiliary Status (Obsolete) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D8h Speaker Status ------------------------------------------------------------------------------ 0FDh DSP Command Status SB16 COMMAND <-COMMANDSTATUS DESCRIPTION Retrieves most recently successful DSP command. NOTES þ Reseting the DSP clears this variable. þ Command does not support all valid DSP commands, but most. þ MediaVision 3D-series cards use this command for DMA and IRQ detection. SEE ALSO 0FBh DSP Status 0FCh DSP Auxiliary Status úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 004h DSP Status (Obsolete) 0F1h DSP Auxiliary Status (Obsolete) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 0D8h Speaker Status ============================================================================== MIXER REGISTERS ------------------------------------------------------------------------------ 000h Reset Write SBPro 001h Status Read SBPro 002h Master Volume Read/Write SBPro Only 004h DAC Level Read/Write SBPro 006h FM Output Control Read/Write SBPro Only 00Ah Microphone Level Read/Write SBPro 00Ch Input/Filter Select Read/Write SBPro Only 00Eh Output/Stereo Select Read/Write SBPro Only 022h Master Volume Read/Write SBPro 026h FM Level Read/Write SBPro 028h CD Audio Level Read/Write SBPro 02Eh Line In Level Read/Write SBPro 030h Master Volume Left Read/Write SB16 031h Master Volume Right Read/Write SB16 032h DAC Level Left Read/Write SB16 033h DAC Level Right Read/Write SB16 034h FM Level Left Read/Write SB16 035h FM Level Right Read/Write SB16 036h CD Audio Level Left Read/Write SB16 037h CD Audio Level Right Read/Write SB16 038h Line In Level Left Read/Write SB16 039h Line In Level Right Read/Write SB16 03Ah Microphone Level Read/Write SB16 03Bh PC Speaker Level Read/Write SB16 03Ch Output Control Read/Write SB16 03Dh Input Control Left Read/Write SB16 03Eh Input Control Right Read/Write SB16 03Fh Input Gain Control Left Read/Write SB16 040h Input Gain Control Right Read/Write SB16 041h Output Gain Control Left Read/Write SB16 042h Output Gain Control Right Read/Write SB16 043h Automatic Gain Control (AGC) Read/Write SB16 044h Treble Left Read/Write SB16 045h Treble Right Read/Write SB16 046h Bass Left Read/Write SB16 047h Bass Right Read/Write SB16 080h IRQ Select Read/Write SB16 081h DMA Select Read/Write SB16 082h IRQ Status Read SB16 ------------------------------------------------------------------------------ 000h Reset Write SBPro DESCRIPTION Resets mixer to default settings. PROCEDURE a) Load index register b) Wait 100æs c) Write reset stop RESET BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Reset Stop (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Defaults documented for each register (SBPro, SB16) ------------------------------------------------------------------------------ 001h Status Read SBPro DESCRIPTION Contains previously selected register value. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Mixer Data Register value ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ SoundBlaster 16 sets bit 7 if previous mixer index invalid. þ Status bytes initially 080h on startup for all but level bytes (SB16) ------------------------------------------------------------------------------ 002h Master Volume Read/Write SBPro Only VOLUME BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³[4]³ 3 ³ 2 ³ 1 ³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Reserved (1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Right Master Volume bit 3-1 (SBPro) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reserved (1) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left Master Volume bit 3-1 (SBPro) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT 099h, N/A NOTES þ Same as register 022h selection. SEE ALSO 022h Master Volume Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 030h Master Volume Left Read/Write 031h Master Volume Right Read/Write ------------------------------------------------------------------------------ 004h DAC Level Read/Write SBPro LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Right DAC Level bit 0 (SB16, SBPro=1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Right DAC Level bit 3-1 (SBPro) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Left DAC Level bit 0 (SB16, SBPro=1) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left DAC Level bit 3-1 (SBPro) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT 099h, 0CCh NOTES þ Mixer detection can be accomplished by looking for this register index. þ SoundBlaster 16 will automatically update registers 031h and 032h, transferring bits 7-4 and setting bit 3. SEE ALSO 032h DAC Level Left Read/Write 033h DAC Level Right Read/Write ------------------------------------------------------------------------------ 006h FM Output Control Read/Write SBPro Only CONTROL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³ 6 ³ 5 ³[4]³ 3 ³ 2 ³ 1 ³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Reserved (1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ FM Level (bits 3-1, see notes) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reserved (1) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ FM Left Channel (0 = On, 1 = Off) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ FM Right Channel (0 = On, 1 = Off) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reserved (0) DEFAULT 019h, N/A NOTES þ FM level controls both channels. þ If only one channel is active, the inactive channel's voices will be routed through the active one. þ SoundBlaster Pro will automatically update register 026h, transferring source bits 3-0 to destination bits 7-4 and 3-0. SEE ALSO 026h FM Level Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 034h FM Level Left Read/Write 035h FM Level Right Read/Write ------------------------------------------------------------------------------ 00Ah Microphone Level Read/Write SBPro LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³[3]³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Microphone Level bit 0 (SB16, SBPro=0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Microphone Level bit 2-1 (SBPro) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT 011h, 000h SEE ALSO 03Ah Microphone Level Read/Write ------------------------------------------------------------------------------ 00Ch Input/Filter Select Read/Write SBPro Only SELECT BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³ 5 ³[4]³ 3 ³ 2 ³ 1 ³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Reserved (1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Input Select (0 = Microphone, ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ 1 = CD Audio, 3 = Line In) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Frequency (0 = Highpass, 1 = Lowpass) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reserved (0) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Filter Input (0 = On, 1 = Off) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT 011h, N/A SEE ALSO 03Dh Input Control Left Read/Write 03Eh Input Control Right Read/Write ------------------------------------------------------------------------------ 00Eh Output/Stereo Select Read/Write SBPro Only SELECT BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³ 5 ³[4]³[3]³[2]³ 1 ³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Reserved (1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Stereo Output Mode (1 = Stereo) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reserved (1) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Filter Output (0 = On, 1 = Off) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT 011h, N/A NOTES þ SoundBlaster 16 uses command 0Bxh/0Cxh for stereo output. SEE ALSO 03Ch Output Control Read/Write ------------------------------------------------------------------------------ 022h Master Volume Read/Write SBPro VOLUME BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Right Master bit 0 (SB16, SBPro=1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Right Master bit 3-1 (SBPro) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Left Master bit 0 (SB16, SBPro=1) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left Master bit 3-1 (SBPro) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT 011h, 0CCh NOTES þ SoundBlaster 16 will automatically update registers 030h and 031h, transferring bits 7-4 and setting bit 3. þ SoundBlaster Pro register 002h is the same as this. SEE ALSO 002h Master Volume Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 030h Master Volume Left Read/Write 031h Master Volume Right Read/Write ------------------------------------------------------------------------------ 026h FM Level Read/Write SBPro LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Right FM Level bit 0 (SB16, SBPro=1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Right FM Level bit 3-1 (SBPro) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Left FM Level bit 0 (SB16, SBPro=1) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left FM Level bit 3-1 (SBPro) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT 011h, 0CCh NOTES þ SoundBlaster 16 will automatically update registers 033h and 034h, transferring bits 7-4 and setting bit 3. þ SoundBlaster Pro will automatically update register 006h, transferring bits 3-1 and setting bit 0. SEE ALSO 006h FM Output Control Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 034h FM Level Left Read/Write 035h FM Level Right Read/Write ------------------------------------------------------------------------------ 028h CD Audio Level Read/Write SBPro LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Right CD Audio bit 0 (SB16, SBPro=1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Right CD Audio bit 3-1 (SBPro) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Left CD Audio bit 0 (SB16, SBPro=1) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left CD Audio bit 3-1 (SBPro) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT 011h, 000h NOTES þ SoundBlaster 16 will automatically update registers 035h and 036h, transferring bits 7-4 and setting bit 3. SEE ALSO 036h CD Audio Level Left Read/Write 037h CD Audio Level Right Read/Write ------------------------------------------------------------------------------ 02Eh Line In Level Read/Write SBPro LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Right Line In bit 0 (SB16, SBPro=1) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Right Line In bit 3-1 (SBPro) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Left Line In bit 0 (SB16, SBPro=1) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left Line In bit 3-1 (SBPro) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT 011h, 000h NOTES þ SoundBlaster 16 will automatically update registers 037h and 038h, transferring bits 7-4 and setting bit 3. SEE ALSO 038h Line In Level Left Read/Write 039h Line In Level Right Read/Write ------------------------------------------------------------------------------ 030h Master Volume Left Read/Write SB16 VOLUME BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left Master Volume (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 0C0h NOTES þ SoundBlaster 16 will automatically transfer bits 7-4 to bits 7-4 of register 022h þ SoundBlaster Pro selects register 020h for 030h. SEE ALSO 031h Master Volume Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 022h Master Volume Read/Write ------------------------------------------------------------------------------ 031h Master Volume Right Read/Write SB16 VOLUME BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Right Master Volume (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 0C0h NOTES þ SoundBlaster 16 will automatically transfer bits 7-4 to bits 3-0 of register 022h. SEE ALSO 030h Master Volume Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 022h Master Volume Read/Write ------------------------------------------------------------------------------ 032h DAC Level Left Read/Write SB16 LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left DAC Level (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 0C0h NOTES þ SoundBlaster 16 will automatically transfer bits 7-4 to bits 7-4 of register 024h. þ SoundBlaster Pro selects register 022h for 032h. SEE ALSO 033h DAC Level Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 004h DAC Level Read/Write ------------------------------------------------------------------------------ 033h DAC Level Right Read/Write SB16 LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Right DAC Level (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 0C0h NOTES þ SoundBlaster 16 will automatically transfer bits 7-4 to bits 3-0 of register 024h. SEE ALSO 032h DAC Level Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 004h DAC Level Read/Write ------------------------------------------------------------------------------ 034h FM Level Left Read/Write SB16 LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left FM Level (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 0C0h NOTES þ SoundBlaster 16 will automatically transfer bits 7-4 to bits 7-4 of register 026h. SEE ALSO 035h FM Level Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 006h FM Output Control Read/Write 026h FM Level Read/Write ------------------------------------------------------------------------------ 035h FM Level Right Read/Write SB16 LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Right FM Level (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 0C0h NOTES þ SoundBlaster 16 will automatically transfer bits 7-4 to bits 3-0 of register 026h. SEE ALSO 034h FM Level Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 006h FM Output Control Read/Write 026h FM Level Read/Write ------------------------------------------------------------------------------ 036h CD Audio Level Left Read/Write SB16 LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left CD Audio Level (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h NOTES þ SoundBlaster 16 will automatically transfer bits 7-4 to bits 7-4 of register 028h. þ SoundBlaster Pro selects register 026h for 036h. SEE ALSO 037h CD Audio Level Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 028h CD Audio Level Read/Write ------------------------------------------------------------------------------ 037h CD Audio Level Right Read/Write SB16 LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Right CD Audio Level (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h NOTES þ SoundBlaster 16 will automatically transfer bits 7-4 to bits 3-0 of register 028h. SEE ALSO 036h CD Audio Level Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 028h CD Audio Level Read/Write ------------------------------------------------------------------------------ 038h Line In Level Left Read/Write SB16 LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left Line In Level (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h NOTES þ SoundBlaster 16 will automatically transfer bits 7-4 to bits 7-4 of register 02Eh. þ SoundBlaster Pro selects register 028h for 038h. SEE ALSO 039h Line In Level Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02Eh Line In Level Read/Write ------------------------------------------------------------------------------ 039h Line In Level Right Read/Write SB16 LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Right Line In Level (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h NOTES þ SoundBlaster 16 will automatically transfer bits 7-4 to bits 3-0 of register 02Eh. SEE ALSO 038h Line In Level Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 02Eh Line In Level Read/Write ------------------------------------------------------------------------------ 03Ah Microphone Level Read/Write SB16 LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Microphone Level (2dB) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h SEE ALSO 00Ah Microphone Level Read/Write ------------------------------------------------------------------------------ 03Bh PC Speaker Level Read/Write SB16 LEVEL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³[5]³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ PC Speaker Level (2dB) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h ------------------------------------------------------------------------------ 03Ch Output Control Read/Write SB16 CONTROL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Microphone (0 = Off, 1 = On) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Right CD Audio (0 = Off, 1 = On) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Left CD Audio (0 = Off, 1 = On) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Right Line In (0 = Off, 1 = On) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Left Line In (0 = Off, 1 = On) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 01Fh SEE ALSO 041h Output Gain Control Left Read/Write 042h Output Gain Control Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 036h CD Audio Level Left Read/Write 037h CD Audio Level Right Read/Write 038h Line In Level Left Read/Write 039h Line In Level Right Read/Write 03Ah Microphone Level Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 00Eh Output/Stereo Select Read/Write ------------------------------------------------------------------------------ 03Dh Input Control Left Read/Write SB16 CONTROL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Microphone (0 = Off, 1 = On) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Right CD Audio (0 = Off, 1 = On) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Left CD Audio (0 = Off, 1 = On) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Right Line In (0 = Off, 1 = On) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Left Line In (0 = Off, 1 = On) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Right FM (0 = Off, 1 = On) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Left FM (0 = Off, 1 = On) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reserved (0) DEFAULT N/A, 015h NOTES þ Register controls remapping of left input channel (off, left, right, or left and right) SEE ALSO 03Eh Input Control Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 03Fh Input Gain Control Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 034h FM Level Left Read/Write 035h FM Level Right Read/Write 036h CD Audio Level Left Read/Write 037h CD Audio Level Right Read/Write 038h Line In Level Left Read/Write 039h Line In Level Right Read/Write 03Ah Microphone Level Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 00Ch Input/Filter Select Read/Write ------------------------------------------------------------------------------ 03Eh Input Control Right Read/Write SB16 CONTROL BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Microphone (0 = Off, 1 = On) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Right CD Audio (0 = Off, 1 = On) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Left CD Audio (0 = Off, 1 = On) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Right Line In (0 = Off, 1 = On) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Left Line In (0 = Off, 1 = On) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Right FM (0 = Off, 1 = On) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Left FM (0 = Off, 1 = On) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reserved (0) DEFAULT N/A, 00Bh NOTES þ Register controls remapping of right input channel (off, left, right, or left and right) þ SoundBlaster Pro selects register 02Eh for 03Eh. SEE ALSO 03Dh Input Control Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 040h Input Gain Control Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 034h FM Level Left Read/Write 035h FM Level Right Read/Write 036h CD Audio Level Left Read/Write 037h CD Audio Level Right Read/Write 038h Line In Level Left Read/Write 039h Line In Level Right Read/Write 03Ah Microphone Level Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 00Ch Input/Filter Select Read/Write ------------------------------------------------------------------------------ 03Fh Input Gain Control Left Read/Write SB16 GAIN BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³[5]³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left Input Gain Control (2^x) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h SEE ALSO 040h Input Gain Control Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 043h Automatic Gain Control (AGC) Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 03Dh Input Control Left Read/Write ------------------------------------------------------------------------------ 040h Input Gain Control Right Read/Write SB16 GAIN BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³[5]³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Right Input Gain Control (2^x) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h SEE ALSO 03Fh Input Gain Control Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 043h Automatic Gain Control (AGC) Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 03Dh Input Control Right Read/Write ------------------------------------------------------------------------------ 041h Output Gain Control Left Read/Write SB16 GAIN BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³[5]³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Left Output Gain Control (2^x) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h NOTES þ Output Gain Control has no effect when internal amplifier disabled. SEE ALSO 042h Output Gain Control Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 03Ch Output Control Read/Write ------------------------------------------------------------------------------ 042h Output Gain Control Right Read/Write SB16 GAIN BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³[5]³[4]³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Right Output Gain Control (2^x) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h NOTES þ Output Gain Control has no effect when internal amplifier disabled. SEE ALSO 041h Output Gain Control Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 03Ch Output Control Read/Write ------------------------------------------------------------------------------ 043h Automatic Gain Control (AGC) Read/Write SB16 AGC BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³[3]³[2]³[1]³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Automatic Gain Control (1 = Enable) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 000h NOTES þ Automatic Gain Control automatically maximizes input signal strength. SEE ALSO 03Fh Input Gain Control Left Read/Write 040h Input Gain Control Right Read/Write ------------------------------------------------------------------------------ 044h Treble Left Read/Write SB16 TREBLE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Treble Left (2dB, -14dB to 14dB) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 080h SEE ALSO 045h Treble Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 046h Bass Left Read/Write ------------------------------------------------------------------------------ 045h Treble Right Read/Write SB16 TREBLE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Treble Right (2dB, -14dB to 14dB) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 080h SEE ALSO 044h Treble Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 047h Bass Right Read/Write ------------------------------------------------------------------------------ 046h Bass Left Read/Write SB16 BASS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Bass Left (2dB, -14dB to 14dB) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 080h SEE ALSO 047h Bass Right Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 044h Treble Left Read/Write ------------------------------------------------------------------------------ 047h Bass Right Read/Write SB16 BASS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³[3]³[2]³[1]³[0]º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Reserved (0) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Bass Right (2dB, -14dB to 14dB) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFAULT N/A, 080h SEE ALSO 046h Bass Left Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 045h Treble Right Read/Write ------------------------------------------------------------------------------ 080h IRQ Select Read/Write SB16 SELECT BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ IRQ2 (0 = Disable, 1 = Enable) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ IRQ5 (0 = Disable, 1 = Enable) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ IRQ7 (0 = Disable, 1 = Enable) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ IRQ10 (0 = Disable, 1 = Enable) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (1) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Unaffected by mixer reset or soft reboot. þ Enabling multiple bits enables multiple IRQs. SEE ALSO 081h DMA Select Read/Write úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú 082h IRQ Status Read ------------------------------------------------------------------------------ 081h DMA Select Read/Write SB16 SELECT BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³[4]³ 3 ³[2]³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ DMA0, 8-bit (0 = Disable, 1 = Enable) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ DMA1, 8-bit (0 = Disable, 1 = Enable) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ DMA2, Reserved (0) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA3, 8-bit (0 = Disable, 1 = Enable) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA4, Reserved (0) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA5, 16-bit (0 = Disable, 1 = Enable) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA6, 16-bit (0 = Disable, 1 = Enable) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA7, 16-bit (0 = Disable, 1 = Enable) NOTES þ Unaffected by mixer reset or soft reboot. þ Enabling multiple 8 or 16-bit DMA bits enables multiple DMA channels. þ Disabling all 8-bit DMA channel bits disables 8-bit DMA requests, including translated 16-bit DMA requests. þ Disabling all 16-bit DMA channel bits enables translation of 16-bit DMA requests to 8-bit ones, using the selected 8-bit DMA channel. SEE ALSO 080h IRQ Select Read/Write ------------------------------------------------------------------------------ 082h IRQ Status Read SB16 STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³[3]³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ IRQ Status, 8-bit (1 = Active) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ IRQ Status, 16-bit (1 = Active) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ IRQ Status, MPU-401 (1 = Active) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reserved (0) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ ??? ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ (01h = v4.04, 02h = v4.05, 08h = v4.12) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ SEE ALSO 080h IRQ Select Read/Write ============================================================================== DMA CONTROLLERS ------------------------------------------------------------------------------ Ú-ÄÄÄÄÄÄÄÄ¿ ÚÄÄÂÂÄÄ¿ ÚÄÄÂÂÄÄ¿ ³ ÚÄÄÄÄÄ¿ ³ Õµ À٠ƸÄChannel 4ÄÄÕµ À٠ƸÄÄÄ Channel 0 ¿ ³ ³ CPU ³ ³ÄÄÄÄÕµ DMA2 ƸÄÄÄÄÄÄÄÄÄÄ¿ Õµ DMA1 ƸÄÄÄ Channel 1 à 8-bit ³ ÀÄÄÄÄÄÙ ³ Õµ 8237 ƸÄÄÄÄÄÄÄÄ¿ ³ Õµ 8237 ƸÄÄÄ Channel 2 ³ ÀÄÄÄÄÄÄÄÄÙ Õµ ƸÄÄÄÄÄÄ¿ ³ ³ Õµ ƸÄÄÄ Channel 3 Ù ÀÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÙ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 5 ¿ DMAC ORGANIZATION (AT) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 6 à 16-bit ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 7 Ù ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º DMA CHANNEL ³ AT ARCHITECTURE ³ XT ARCHITECTURE º º ³ ³ º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ ¿ º 0 ³ AVAILABLE ³ DRAM REFRESH º ³ ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ à Memory-Memory support º 1 ³ AVAILABLE ³ AVAILABLE º ³ ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ Ù º 2 ³ FLOPPY CONTRLR. ³ FLOPPY CONTRLR. º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º 3 ³ AVAILABLE ³ HDD CONTROLLER º Ç---------------Å-----------------Å-----------------¶ º 4 ³ CASCADE ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º 5 ³ AVAILABLE ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º 6 ³ AVAILABLE ³ N/A º ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ º 7 ³ AVAILABLE ³ N/A º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ PROCEDURE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 1) Enable channel mask OUT 00Ah,004h OR cChannel ( 8-bit) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú OUT 0D4h,004h OR cChannel (16-bit) 2) Clear byte pointer OUT 00Ch,... ( 8-bit) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú OUT 0D8h,... (16-bit) 3) Configure transfer mode OUT 00Bh,cMode OR cChannel ( 8-bit) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú OUT 0D6h,cMode OR cChannel (16-bit) 4) Write page address OUT { 087h,083h,081h,082h },cPage ( 8-bit) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú OUT { 08Fh,08Bh,089h,08Ah },cPage (16-bit) 5) Write offset address OUT { 000h,002h,004h,006h },cAddressLo ( 8-bit) OUT { 000h,002h,004h,006h },cAddressHi úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú OUT { 0C0h,0C4h,0C8h,0CCh },cAddressLo (16-bit) OUT { 0C0h,0C4h,0C8h,0CCh },cAddressHi 6) Write length - 1 OUT { 001h,003h,005h,007h },cLengthLo ( 8-bit) OUT { 001h,003h,005h,007h },cLengthHi úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú OUT { 0C2h,0C6h,0CAh,0CEh },cLengthLo (16-bit) OUT { 0C2h,0C6h,0CAh,0CEh },cLengthHi 7) Disable channel mask OUT 00Ah,cChannel ( 8-bit) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú OUT 0D4h,cChannel (16-bit) ------------------------------------------------------------------------------ 000h Channel 0 Address, 8-bit Read/Write XT DESCRIPTION Programs channel transfer offset address (byte granular). PROCEDURE a) Output LSB of offset address (port 000h) b) Output MSB of offset address (port 000h) NOTES þ Reading port retrieves current transfer offset address. SEE ALSO 087h Channel 0 Page, 8-bit Write 001h Channel 0 Length, 8-bit Read/Write ------------------------------------------------------------------------------ 001h Channel 0 Length, 8-bit Read/Write XT DESCRIPTION Programs channel transfer length. PROCEDURE a) Output LSB of length (port 001h) b) Output MSB of length (port 001h) LENGTH = BYTES - 1 NOTES þ Reading port retrieves transfer length remaining. SEE ALSO 087h Channel 0 Page, 8-bit Write 000h Channel 0 Address, 8-bit Read/Write ------------------------------------------------------------------------------ 002h Channel 1 Address, 8-bit Read/Write XT DESCRIPTION Programs channel transfer offset address (byte granular). PROCEDURE a) Output LSB of offset address (port 002h) b) Output MSB of offset address (port 002h) NOTES þ Reading port retrieves current transfer offset address. SEE ALSO 083h Channel 1 Page, 8-bit Write 003h Channel 1 Length, 8-bit Read/Write ------------------------------------------------------------------------------ 003h Channel 1 Length, 8-bit Read/Write XT DESCRIPTION Programs channel transfer length. PROCEDURE a) Output LSB of length (port 003h) b) Output MSB of length (port 003h) LENGTH = BYTES - 1 NOTES þ Reading port retrieves transfer length remaining. SEE ALSO 083h Channel 1 Page, 8-bit Write 002h Channel 1 Address, 8-bit Read/Write ------------------------------------------------------------------------------ 004h Channel 2 Address, 8-bit Read/Write XT DESCRIPTION Programs channel transfer offset address (byte granular). PROCEDURE a) Output LSB of offset address (port 004h) b) Output MSB of offset address (port 004h) NOTES þ Reading port retrieves current transfer offset address. SEE ALSO 081h Channel 2 Page, 8-bit Write 005h Channel 2 Length, 8-bit Read/Write ------------------------------------------------------------------------------ 005h Channel 2 Length, 8-bit Read/Write XT DESCRIPTION Programs channel transfer length. PROCEDURE a) Output LSB of length (port 005h) b) Output MSB of length (port 005h) LENGTH = BYTES - 1 NOTES þ Reading port retrieves transfer length remaining. SEE ALSO 081h Channel 2 Page, 8-bit Write 004h Channel 2 Address, 8-bit Read/Write ------------------------------------------------------------------------------ 006h Channel 3 Address, 8-bit Read/Write XT DESCRIPTION Programs channel transfer offset address (byte granular). PROCEDURE a) Output LSB of offset address (port 006h) b) Output MSB of offset address (port 006h) NOTES þ Reading port retrieves current transfer offset address. SEE ALSO 082h Channel 3 Page, 8-bit Write 007h Channel 3 Length, 8-bit Read/Write ------------------------------------------------------------------------------ 007h Channel 3 Length, 8-bit Read/Write XT DESCRIPTION Programs channel transfer length. PROCEDURE a) Output LSB of length (port 007h) b) Output MSB of length (port 007h) LENGTH = BYTES - 1 NOTES þ Reading port retrieves transfer length remaining. SEE ALSO 082h Channel 3 Page, 8-bit Write 006h Channel 3 Address, 8-bit Read/Write ------------------------------------------------------------------------------ 008h Status Register, 8-bit Read XT DESCRIPTION Controller channel status register. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Channel 0 Terminal Count (1 = Reached) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Channel 1 Terminal Count (1 = Reached) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Channel 2 Terminal Count (1 = Reached) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 3 Terminal Count (1 = Reached) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 0 DREQ (1 = Active ) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 1 DREQ (1 = Active ) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 2 DREQ (1 = Active ) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 3 DREQ (1 = Active ) NOTES þ Terminal count bit indicates transfer complete. ------------------------------------------------------------------------------ 008h Command Register, 8-bit Write XT DESCRIPTION Controller configuration register. COMMAND BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Mem-Mem Transfer (1 = Enable) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Channel 0-4 Address Hold (1 = Enable) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Controller (0 = Enable, 1 = Disable) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timing (0 = Normal, 1 = Compressed) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Priority (0 = Fixed, 1 = Rotating) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Write Mode (0 = Late, 1 = Extended) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DREQ Active Sensing (0 = Low, 1 = High) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DACK Active Sensing (0 = Low, 1 = High) ------------------------------------------------------------------------------ 009h Request Register, 8-bit Write XT DESCRIPTION ??? REQUEST BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³[3]³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Channel Select ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÙ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Channel Request (1 = Enable) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ------------------------------------------------------------------------------ 00Ah Single Mask Register, 8-bit Write XT DESCRIPTION Selects individual DMA channel, and enables or disables it. MASK BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³[3]³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Channel Select ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÙ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Channel Mask (0 = Clear, 1 = Set) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Program the mask register before programming channel. SEE ALSO 00Fh Master Mask Register, 8-bit Write ------------------------------------------------------------------------------ 00Bh Mode Register, 8-bit Write XT DESCRIPTION Selects and configures individual DMA channel. MODE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Channel Select ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÙ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÂÄ Operation (0 = Verify, ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 1 = Write, 2 = Read) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Auto-Initialize (0 = Off, 1 = On) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Direction (0 = Increment) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Operation Mode (0 = Demand,1 = Single, ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 2 = Block, 3 = Cascade) NOTES þ Demand mode ÖÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄ· º DREQ ÃÄÄÄ´ TERMINAL COUNT-1 ÃÄÄ´ ? ÃÄij DACK ÃÄÄij DONE º ÓÄÄÄÄÄÄÂÙY ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÂÄÙN ÀÄÄÂÄÄÂÙ ÀÄÄÄÄÄÄĽ ÀÄÄÙN ³ ³Y ÀÄÄÙN ³Y ³ ÚÄÄÄÄ¿ ÚÄÁÄ¿ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ´DREQ³ÄÄÄÄ´EOPÃÄÄÄÄÄÄÄÄÙ YÀÄÄÄÂÙ NÀÄÄÄÙY ÀÄÄÙN Transfer begins as soon as DREQ becomes active and continues until terminal count is reached or an external end-of-process (EOP) is signalled. In auto-initialized mode, only an external EOP stops the transfer. Deactivating DREQ pauses the transfer, reactivating it continues. þ Single mode ÖÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄÄÄÄÄ· º DREQ ÃÄÄÄ´ TERMINAL COUNT-1 ÃÄÄ´ ? ÃÄÄÄÄÄÄÄÄÄÄÄÄij DONE º ÓÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÂÄÙN ÀÄÄÄÄÄÄĽ ³ ³Y ³ ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄ¿ ³ ÀÄ´ DACK ³ÄÄ´DREQ³ÄÄÄÄÄÄÙ YÀÄÄÄÂÄÄÙ YÀÄÄÄÂÙ ÀÄÄÙN ÀÄÄÙN Transfer begins as soon as DREQ becomes active and continues until the next byte is transferred and loops until terminal count. þ Block mode ÖÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄ· º DREQ ÃÄÄÄ´ TERMINAL COUNT-1 ÃÄÄ´ ? ÃÄij DACK ÃÄÄij DONE º ÓÄÄÄÄÄÄÂÙY ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÂÄÙN ÀÄÄÂÄÄÂÙ ÀÄÄÄÄÄÄĽ ÀÄÄÙN ³ ³Y ÀÄÄÙN ³Y ³ ÚÄÁÄ¿ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´EOPÃÄÄÄÄÄÄÄÄÙ NÀÄÄÄÙY Transfer begins as soon as DREQ becomes active and continues until terminal count is reached or an external end-of-process (EOP) is signalled. In auto-initialized mode, only an external EOP stops the transfer. þ Cascade mode Reserved for chaining DMA controllers. ------------------------------------------------------------------------------ 00Ch Clear Byte Pointer Register, 8-bit Write XT DESCRIPTION Resets 8-bit DMA controller address pointer on output (any value). ------------------------------------------------------------------------------ 00Dh Temporary Register, 8-bit Read XT DESCRIPTION Contains memory-to-memory data bytes. ------------------------------------------------------------------------------ 00Dh Master Reset Register, 8-bit Write XT DESCRIPTION Resets 8-bit DMA controller and all its channels on output (any value). SEE ALSO 00Eh Master Enable Register, 8-bit Write ------------------------------------------------------------------------------ 00Eh Master Enable Register, 8-bit Write XT DESCRIPTION Enables all 8-bit DMA controller channels on output (any value). SEE ALSO 00Dh Master Reset Register, 8-bit Write ------------------------------------------------------------------------------ 00Fh Master Mask Register, 8-bit Write XT DESCRIPTION Selects multiple DMA channels, enabling or disabling them. MASK BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Channel 0 (0 = Enable, 1 = Disable) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Channel 1 (0 = Enable, 1 = Disable) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Channel 2 (0 = Enable, 1 = Disable) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 3 (0 = Enable, 1 = Disable) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ SEE ALSO 00Ah Single Mask Register, 8-bit Write ------------------------------------------------------------------------------ 081h Channel 2 Page, 8-bit Write XT DESCRIPTION Programs channel page address. PAGE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Page, Channel 2 (64K granular) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Page addressing allows access to 1M of physical memory with 8-bit DMA. SEE ALSO 004h Channel 2 Address, 8-bit Read/Write 005h Channel 2 Length, 8-bit Read/Write ------------------------------------------------------------------------------ 082h Channel 3 Page, 8-bit Write XT DESCRIPTION Programs channel page address. PAGE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Page, Channel 3 (64K granular) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Page addressing allows access to 1M of physical memory with 8-bit DMA. SEE ALSO 006h Channel 3 Address, 8-bit Read/Write 007h Channel 3 Length, 8-bit Read/Write ------------------------------------------------------------------------------ 083h Channel 1 Page, 8-bit Write XT DESCRIPTION Programs channel page address. PAGE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Page, Channel 1 (64K granular) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Page addressing allows access to 1M of physical memory with 8-bit DMA. SEE ALSO 002h Channel 1 Address, 8-bit Read/Write 003h Channel 1 Length, 8-bit Read/Write ------------------------------------------------------------------------------ 087h Channel 0 Page, 8-bit Write XT DESCRIPTION Programs channel page address. PAGE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Page, Channel 0 (64K granular) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Page addressing allows access to 1M of physical memory with 8-bit DMA. SEE ALSO 000h Channel 0 Address, 8-bit Read/Write 001h Channel 0 Length, 8-bit Read/Write ------------------------------------------------------------------------------ 089h Channel 6 Page, 16-bit Write AT DESCRIPTION Programs channel page address. PAGE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Page, Channel 6 (128K granular) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Page addressing allows access to 16M of physical memory with 16-bit DMA. SEE ALSO 0C8h Channel 6 Address, 16-bit Read/Write 0CAh Channel 6 Length, 16-bit Read/Write ------------------------------------------------------------------------------ 08Ah Channel 7 Page, 16-bit Write AT DESCRIPTION Programs channel page address. PAGE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Page, Channel 7 (128K granular) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Page addressing allows access to 16M of physical memory with 16-bit DMA. SEE ALSO 0CCh Channel 7 Address, 16-bit Read/Write 0CEh Channel 7 Length, 16-bit Read/Write ------------------------------------------------------------------------------ 08Bh Channel 5 Page, 16-bit Write AT DESCRIPTION Programs channel page address. PAGE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Page, Channel 5 (128K granular) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Page addressing allows access to 16M of physical memory with 16-bit DMA. SEE ALSO 0C4h Channel 5 Address, 16-bit Read/Write 0C6h Channel 5 Length, 16-bit Read/Write ------------------------------------------------------------------------------ 08Fh Channel 4 Page, 16-bit Write AT DESCRIPTION Programs channel page address. PAGE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Page, Channel 4 (128K granular) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ´ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Reserved channel for cascading DMA controllers. þ Page addressing allows access to 16M of physical memory with 16-bit DMA. SEE ALSO 0C0h Channel 4 Address, 16-bit Read/Write 0C2h Channel 4 Length, 16-bit Read/Write ------------------------------------------------------------------------------ 0C0h Channel 4 Address, 16-bit Read/Write AT DESCRIPTION Programs channel transfer offset address (word granular). PROCEDURE a) Output LSB of offset address/2 (port 0C0h) b) Output MSB of offset address/2 (port 0C0h) NOTES þ Reading port retrieves current transfer offset address. SEE ALSO 08Fh Channel 4 Page, 16-bit Write 0C2h Channel 4 Length, 16-bit Read/Write ------------------------------------------------------------------------------ 0C2h Channel 4 Length, 16-bit Read/Write AT DESCRIPTION Programs channel transfer length. PROCEDURE a) Output LSB of length (port 0C2h) b) Output MSB of length (port 0C2h) LENGTH = BYTES/2 - 1 NOTES þ Reading port retrieves transfer length remaining. SEE ALSO 08Fh Channel 4 Page, 16-bit Write 0C0h Channel 4 Address, 16-bit Read/Write ------------------------------------------------------------------------------ 0C4h Channel 5 Address, 16-bit Read/Write AT DESCRIPTION Programs channel transfer offset address (word granular). PROCEDURE a) Output LSB of offset address/2 (port 0C4h) b) Output MSB of offset address/2 (port 0C4h) NOTES þ Reading port retrieves current transfer offset address. SEE ALSO 08Bh Channel 5 Page, 16-bit Write 0C6h Channel 5 Length, 16-bit Read/Write ------------------------------------------------------------------------------ 0C6h Channel 5 Length, 16-bit Read/Write AT DESCRIPTION Programs channel transfer length. PROCEDURE a) Output LSB of length (port 0C6h) b) Output MSB of length (port 0C6h) LENGTH = BYTES/2 - 1 NOTES þ Reading port retrieves transfer length remaining. SEE ALSO 08Bh Channel 5 Page, 16-bit Write 0C4h Channel 5 Address, 16-bit Read/Write ------------------------------------------------------------------------------ 0C8h Channel 6 Address, 16-bit Read/Write AT DESCRIPTION Programs channel transfer offset address (word granular). PROCEDURE a) Output LSB of offset address/2 (port 0C8h) b) Output MSB of offset address/2 (port 0C8h) NOTES þ Reading port retrieves current transfer offset address. SEE ALSO 089h Channel 6 Page, 16-bit Write 0CAh Channel 6 Length, 16-bit Read/Write ------------------------------------------------------------------------------ 0CAh Channel 6 Length, 16-bit Read/Write AT DESCRIPTION Programs channel transfer length. PROCEDURE a) Output LSB of length (port 0CAh) b) Output MSB of length (port 0CAh) LENGTH = BYTES/2 - 1 NOTES þ Reading port retrieves transfer length remaining. SEE ALSO 089h Channel 6 Page, 16-bit Write 0C8h Channel 6 Address, 16-bit Read/Write ------------------------------------------------------------------------------ 0CCh Channel 7 Address, 16-bit Read/Write AT DESCRIPTION Programs channel transfer offset address (word granular). PROCEDURE a) Output LSB of offset address/2 (port 0CEh) b) Output MSB of offset address/2 (port 0CEh) NOTES þ Reading port retrieves current transfer offset address. SEE ALSO 08Ah Channel 7 Page, 16-bit Write 0CEh Channel 7 Length, 16-bit Read/Write ------------------------------------------------------------------------------ 0CEh Channel 7 Length, 16-bit Read/Write AT DESCRIPTION Programs channel transfer length. PROCEDURE a) Output LSB of length (port 0CEh) b) Output MSB of length (port 0CEh) LENGTH = BYTES/2 - 1 NOTES þ Reading port retrieves transfer length remaining. SEE ALSO 08Ah Channel 7 Page, 16-bit Write 0CCh Channel 7 Address, 16-bit Read/Write ------------------------------------------------------------------------------ 0D0h Status Register, 16-bit Read AT DESCRIPTION Controller channel status register. STATUS BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Channel 4 Terminal Count (1 = Reached) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Channel 5 Terminal Count (1 = Reached) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Channel 6 Terminal Count (1 = Reached) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 7 Terminal Count (1 = Reached) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 4 DREQ (1 = Active ) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 5 DREQ (1 = Active ) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 6 DREQ (1 = Active ) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 7 DREQ (1 = Active ) NOTES þ Terminal count bit indicates transfer complete. ------------------------------------------------------------------------------ 0D0h Command Register, 16-bit Write AT DESCRIPTION Controller configuration register. COMMAND BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Mem-Mem Transfer (1 = Enable) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Channel 0-4 Address Hold (1 = Enable) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Controller (0 = Enable, 1 = Disable) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Timing (0 = Normal, 1 = Compressed) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Priority (0 = Fixed, 1 = Rotating) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Write Mode (0 = Late, 1 = Extended) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DREQ Active Sensing (0 = Low, 1 = High) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DACK Active Sensing (0 = Low, 1 = High) ------------------------------------------------------------------------------ 0D2h Request Register, 16-bit Write AT DESCRIPTION ??? REQUEST BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³[3]³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Channel Select (-4) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÙ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Channel Request (1 = Enable) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ------------------------------------------------------------------------------ 0D4h Single Mask Register, 16-bit Write AT DESCRIPTION Selects individual DMA channel, and enables or disables it. MASK BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³[3]³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Channel Select (-4) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÙ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Channel Mask (0 = Clear, 1 = Set) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ NOTES þ Program the mask register before programming channel. SEE ALSO 0DEh Master Mask Register, 16-bit Write ------------------------------------------------------------------------------ 0D6h Mode Register, 16-bit Write AT DESCRIPTION Selects and configures individual DMA channel. MODE BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÂÄ Channel Select (-4) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÙ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÂÄ Operation (0 = Verify, ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 1 = Write, 2 = Read) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Auto-Initialize (0 = Off, 1 = On) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Direction (0 = Increment) ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Operation Mode (0 = Demand,1 = Single, ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 2 = Block, 3 = Cascade) NOTES þ See register 00Bh notes for description of modes. ------------------------------------------------------------------------------ 0D8h Clear Byte Pointer Register, 16-bit Write AT DESCRIPTION Resets 16-bit DMA controller address pointer on output (any value). ------------------------------------------------------------------------------ 0DAh Temporary Register, 16-bit Read AT DESCRIPTION Contains memory-to-memory data words. NOTES þ Reserved for cascading DMA controllers on AT architecture. ------------------------------------------------------------------------------ 0DAh Master Reset Register, 16-bit Write AT DESCRIPTION Resets 16-bit DMA controller and all its channels on output (any value). SEE ALSO 0DCh Master Enable Register, 16-bit Write ------------------------------------------------------------------------------ 0DCh Master Enable Register, 16-bit Write AT DESCRIPTION Enables all 16-bit DMA controller channels on output (any value). SEE ALSO 0DAh Master Reset Register, 16-bit Write ------------------------------------------------------------------------------ 0DEh Master Mask Register, 16-bit Write AT DESCRIPTION Selects multiple DMA channels, enabling or disabling them. MASK BYTE ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ» º[7]³[6]³[5]³[4]³ 3 ³ 2 ³ 1 ³ 0 º ÈÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑÍÏÍÑͼ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ Channel 4 (0 = Enable, 1 = Disable) ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ Channel 5 (0 = Enable, 1 = Disable) ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ Channel 6 (0 = Enable, 1 = Disable) ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Channel 7 (0 = Enable, 1 = Disable) ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ Reserved (0) ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ SEE ALSO 0D4h Single Mask Register, 16-bit Write ============================================================================== GLOSSARY ------------------------------------------------------------------------------ Adaptive Differential Pulse Code Modulation (ADPCM) Creative Labs ADPCM does not follow the CCITT ADPCM recommendations, but does provide a similar quality compression scheme for 8-bit samples (down to 2, 2.6, or 4-bits per sample). Creative Labs ADPCM is not supported by many SoundBlaster clones. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Advanced Signal Processor (ASP, CSP) Creative Labs proprietary programmable signal processor. Although development tools for the ASP are scarce, Creative Labs has released demo software implementing QSound technology and various compression schemes (from IMA ADPCM to æ-law and à-law). Recently renamed from ASP to CSP (Creative Signal Processor) to avoid confusion with a U.S. company of the same name. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Aliasing Digital artifacts indicative of finite numerical representation, especially noticeble at areas of high deviation. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Amplitude Maximum departure of the value of an alternating current or wave from an average value. In acoustics, amplitude is intimately related to loudness. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Amplitude Modulation (AM) Carrier wave amplitude modulation in response to the strength of a signal. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Analog Representation with periodic waves. Contrast digital. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Analog-To-Digital Convertor (ADC) Device which converts from an analog signal (such as sound) to a digital one. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Auto-Initialize Mode (AI) Mode where DMA controller processes multiple blocks without explicit reprogramming. Contrast single-cycle mode. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Bass Acoustic quality describing sounds of lower frequency in the spectrum. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Creative Music Synthesis??? (C/MS) Obsolete AM synthesizer chipset implementing twelve stereo sine generators modulated in predefined banks by one of four programmable noise generators. Originally implemented on the Creative Labs GameBlaster card; supported by the SoundBlaster 1.0 and 1.5 (as an upgrade option). úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Decibel (dB) Unit of measurement describing the ratio of two acoustic, mechanical, or electrical signal strengths; expressed as ten times the common logarithm of their power ratio. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Digital Representation with finite numerical elements. Contrast analog. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Digital Signal Processor (DSP) Device which performs mathematical operations across a digital waveform. SoundBlasters barely qualify, with only ADPCM to their name. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Digital-To-Analog Convertor (DAC) Device which converts from a digital signal to an analog one. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Direct Memory Access (DMA) Method of using external hardware to perform block memory copy operations so the central processing unit can be dedicated to more sophisticated tasks. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Frequency Number of repetitive occurences, or cycles, within a given time domain. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Frequency Modulation (FM) Carrier wave frequency modulation in response to a signal; resulting in decreased distortion levels. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Frequency Modulation Synthesis (FM Synthesis) Describes a method of synthesizing sound using a programmable carrier and one or more programmable frequency modulators. Popularized by Fairlight. Yamaha OPL-hardware implementation is closer to phase modulation. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Gain Ratio of increase of input over output in an amplifier. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú General MIDI Standardized 128-entry patch map and associated specifications. Patch quality differs greatly across implementations. Regulated by the MIDI Manufacturer's Association (MMA). úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Hertz (Hz) Unit of frequency measurement describing number of cycles per second. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú High Speed Mode SoundBlaster DMA transfer mode operating at a frequency greater than 23kHz, using up clocks cycles otherwise destined for DSP command interpretation. Obsolete on SoundBlaster 16, but supported. (unofficial) úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Mixer SoundBlaster component analagous to an army of volume controls. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú MPU-401 Developed by Roland, the MPU-401 is the industry standard MIDI interface. It can operate either as an intelligent or a dumb UART. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Music Instrument Digital Interface (MIDI) Standard for communication between electronic musical instruments, related hardware, and digital computers. Serial protocol operating at 38.4Kbps. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Nyquist Theorem Accurate reproduction of a signal demands that the sampling frequency be at least twice the rate of the highest frequency in the source signal. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Pulse Code Modulation (PCM) Digital sound reproduction method that outputs discrete amplitude values at a steady rate to produce an analog sound. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú QSound (tm) Filtering technique providing a larger panning arc than traditional stereo techniques (180ø). Licensed by Creative Labs. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Sample Digital representation of analog signal. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Single Cycle Mode (SC) Mode where DMA controller processes a single block. Contrast auto-init mode. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Treble Acoustic quality describing sounds of higher frequency in the spectrum. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Universal Asynchronous Receiver/Transmitter (UART) Device responsible for conversion to or from a serial bit stream. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú Wave Table Synthesis Synthesis method employing sampled instruments and sounds as opposed to artifically generated sound effects. úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú ============================================================================== ACKNOWLEDGEMENTS ------------------------------------------------------------------------------ Ron Arts, Chris Barrett, Hussam Eassa, Brandom Hume, Cornel Huth, Draeden/VLA, Jeffery Lee, Alain Jacques, Jerry Joplin, Eckard Lehmann, Juan Carlos Leon, Bob Manson, Tom Marshall, Richard Mulder, Josha Munnik, Eric Oostendorp, Tino Riethmueller, Jim Roberts, Peter Roberts, Jens-Uwe Rumstich, Daniel Sachs, Edward Schlunder, Peter Sprenger, Heiko Stassburg, Mark Stehr, Jim Vieira ============================================================================== REFERENCES ------------------------------------------------------------------------------ STANDARDS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ CCITT G.721 - ADPCM @ 32 kbits/sec CCITT G.723 - ADPCM @ 24 and 40 kbits/sec ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ PUBLICATIONS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ MIDI Processing Unit MPU-401 Technical Reference v1.5 Roland Corporation Roland Corp. 1985 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Schaum's Outline: Theory and Problems of Acoustics William Seto McGraw-Hill 1971 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Yamaha OPL2 Technical Reference CAT#: LSI-6MF2622 Yamaha Corporation Yamaha Corp. +1 408 437-3133 (USA) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Yamaha OPL3 Technical Reference CAT#: LSI-2438120 Yamaha Corporation Yamaha Corp. +1 408 437-3133 (USA) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ BOOKS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The SoundBlaster Book ISBN: 3-88745-560-6 Josha Munnik, Eric Oostendorp SYBEX 1992 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Das SoundBlaster Profibuch ISBN: 3-89319-583-1 Eckard Lehmann, Tino Riethmueller, Heiko Stassburg Addison-Wesley 1993 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ FILES ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Audio File Formats FAQ AudioFormats.* Guido van Rossum ftp.cwi.nl::pub/audio TEXT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA Programming Information VLA_DMA.ZIP 3K Draeden/VLA 1993 x2ftp.oulu.fi::pub/msdos/programming/vla TEXT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Joystick Programming Information GAMEPORT.INF 3K Bill Frolik 1990 x2ftp.oulu.fi::pub/msdos/programming/specs TEXT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ MIDI Standards Documentation MIDI*.* Various ftp.cs.ruu.nl::/pub/MIDI/DOC TEXT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ OPL2 Programming Information ADLIB_SB.TXT 20K Jeffery Lee 1992 x2ftp.oulu.fi::pub/msdos/programming/faq TEXT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ OPL3 Programming Information OPL3_DOC.ARJ 18K Vladimir Arnost 1994 x2ftp.oulu.fi::pub/msdos/programming/docs TEXT, GIF ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ PC Game Programmer's Enyclopedia v1.0 PCGPE10.ZIP 702K Mark Feldman 1994 x2ftp.oulu.fi::pub/msdos/programming/gpe TEXT, PASCAL ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ VBE/AI SDK v1.03 VAISDK.EXE 388K Video Electronic Standards Association 1994 ftp.wi.leidenuniv.nl:/pub/audio/programming TEXT, C ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Virtual DMA Specification (VDS) PW0519.ZIP 47K John Hagerson of Microsoft 1992 ftp.microsoft.com::Softlib/MSLFILES TEXT, WORD ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SOURCE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SoundBlaster Freedom Project v3.0 SBF3.ZIP 85K Jeff Bird, Christopher Box 1994 x2ftp.oulu.fi::pub/msdos/programming/music C, ASM ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SoundBlaster Programming v1.0 SBPROG10.ZIP 36K Christopher Box 1993 x2ftp.oulu.fi::pub/msdos/programming/music C++, ASM ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SoundX SoundBlaster Library SOUNDX.ZIP 32K Peter Sprenger 1993 x2ftp.oulu.fi::pub/msdos/programming/music C, ASM ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SNDBLST v4.0 SNDBLST4.ZIP 96K David Welch 1993 x2ftp.oulu.fi::pub/msdos/programming/music C ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NEWSGROUPS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SoundBlaster Programming alt.sb.programmer Soundcard Technical Discussion comp.sys.ibm.pc.soundcard.tech comp.sys.ibm.pc.soundcard.misc ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ============================================================================== CONTACT ADDRESSES ------------------------------------------------------------------------------ Andr‚ Baresel baresel@informatik.hu-berlin.de (Internet ) Cyder of Green Apple Andr‚ Baresel (Snailmail) Hans-Grade-Ring 5 14480 Potsdam Germany Craig Jackson Craig.Jackson@launchpad.unc.edu (Internet ) Craig Jackson (Snailmail) 119 Penwood Drive Cary, North Carolina 27511 United States of America [BACK] Back Discuss this article in the forums
See Also: © 1999-2011 Gamedev.net. All rights reserved. Terms of Use Privacy Policy
|