Thread View: pl.comp.programming
4 messages
4 total messages
Started by Bartosz Brzostek
Fri, 05 Jan 1996 00:00
WSS - konfiguracja
Author: Bartosz Brzostek
Date: Fri, 05 Jan 1996 00:00
Date: Fri, 05 Jan 1996 00:00
17 lines
1345 bytes
1345 bytes
Swego czasu ktos podal mi kilka uzytecznych informacji na temat karty Windows Sound System. Chcialbym jeszcze raz za nie podziekowac oraz zadac kolejne pytanie. Jak zmusic WSS do genereowania konkretnego IRQ (np. IRQ7). Wiem, ze cos takiego jest mozliwe, lecz nie wiem, jak to zrobic. W opisie, ktory otrzymalem jest wzmianka, ze robi sie to poprzez port 530h (standardowo). Problem w tym, ze moja karta nie reaguje na zapis do tego portu, a przy odczycie zawsze zwraca wartosc 255 (mimo roznych ustawien IRQ innym programem) Mozliwe, ze jest jakis specjalny sposob zapisu tego rejestru, podobnie, jak to ma miejsce w przypadku ustalania czestotliwosci probkowania. Bardzo prosze, jesli ktos wie cos o tym, bylbym wdzieczny za te informacje. -- ------------------------------------------------------------------------------ Bartosz Brzostek at University of Warsaw -------------------------------------------------------------------------------
Re: WSS - konfiguracja
Author: now... stud
Date: Fri, 05 Jan 1996 00:00
Date: Fri, 05 Jan 1996 00:00
27 lines
1796 bytes
1796 bytes
Bartosz Brzostek (bbrzoste@I_should_put_my_domain_in_etc_NNTP_INEWS_DOMAIN) wrote: : Swego czasu ktos podal mi kilka uzytecznych informacji na temat karty : Windows Sound System. Chcialbym jeszcze raz za nie podziekowac oraz zadac : kolejne pytanie. : Jak zmusic WSS do genereowania konkretnego IRQ (np. IRQ7). Wiem, ze : cos takiego jest mozliwe, lecz nie wiem, jak to zrobic. W opisie, ktory : otrzymalem jest wzmianka, ze robi sie to poprzez port 530h (standardowo). : Problem w tym, ze moja karta nie reaguje na zapis do tego portu, a przy : odczycie zawsze zwraca wartosc 255 (mimo roznych ustawien IRQ innym programem) : Mozliwe, ze jest jakis specjalny sposob zapisu tego rejestru, podobnie, jak : to ma miejsce w przypadku ustalania czestotliwosci probkowania. Bardzo prosze, : jesli ktos wie cos o tym, bylbym wdzieczny za te informacje. Nie probowalem ustawiac IRQ dla WSS, bardzo mozliwe, ze dostep do rejestru 530h nie jest typowy (albo robi sie to w calkiem inny sposob :) ). Moge doradzic tylko analize driver'a do Linuxa - tam jest to zrobione i wiem ze ten driver dziala. ps. Jezeli _naprawde_ zrodla driver'a linuxowego nic ci nie powiedza, to daj znac. Gdy bede mial chwile czasu to cos moze wykombinuje (ale nie licz na wiele - sesja sie zbliza.. :( ) -- Janusz Nowicki now...@infoserv.ii.uj.edu.pl
Re: WSS - konfiguracja
Author: Krzysztof Jacewicz
Date: Tue, 09 Jan 1996 00:00
Date: Tue, 09 Jan 1996 00:00
278 lines
10021 bytes
10021 bytes
On 5 Jan 1996, Bartosz Brzostek wrote:
> Swego czasu ktos podal mi kilka uzytecznych informacji na temat karty
> Windows Sound System. Chcialbym jeszcze raz za nie podziekowac oraz zadac
> kolejne pytanie.
> Jak zmusic WSS do genereowania konkretnego IRQ (np. IRQ7). Wiem, ze
> cos takiego jest mozliwe, lecz nie wiem, jak to zrobic. W opisie, ktory
> otrzymalem jest wzmianka, ze robi sie to poprzez port 530h (standardowo).
> Problem w tym, ze moja karta nie reaguje na zapis do tego portu, a przy
> odczycie zawsze zwraca wartosc 255 (mimo roznych ustawien IRQ innym programem)
> Mozliwe, ze jest jakis specjalny sposob zapisu tego rejestru, podobnie, jak
> to ma miejsce w przypadku ustalania czestotliwosci probkowania. Bardzo prosze,
> jesli ktos wie cos o tym, bylbym wdzieczny za te informacje.
>
Podejrzewam, ze jest to ten sam problem z ktorym sam niedawno sie uporalem.
Otoz moja karta oparta jaes na ukladzie MAD16pro.
Standardowo, po zainicjalizowaniu jej pracy w trybie SBPRO, uklad AD1848
- obslugujacy funkcje WSS, miksera - jest zablokowany.
Mozna go odblokowac, ustawiajac pewna wartosc w jednym z rejestrow MAD16.
Oto najpelniejsza lista rejestrow MAD16 do jakiej udalo mi sie dotrzec,
jest ona nieco bardziej kompletna od listy pana Janusza Nowickiego.
Mialem ja przeslac na liste dosyc dawno, ale wciaz nie moglem znalezc czasu,
za co przepraszam.
-------------------------------------------------------------------------------
From: mik...@zonta.ping.de (Michael Hasselberg)
-------------------------------------------------------------------------------
organization: A little private site running linux on a 386...
followup-to: de.comp.os.linux
keywords: OPTi 82C929, Sound, Hardware
newsgroups: comp.sys.ibm.pc.soundcard.tech,sci.electronics,de.sci.electronics,comp.os.linux.misc,alt.comp.hardware.homebuilt,comp.dsp,comp.sources.wanted,de.co
summary: How to configure the 82C929
Hi all who are interested in the OPTi MAD-16.
Here are the results of your answers an my hacking:
Reference for OPTi MAD16 pro (82C929)
I/O Addresses
-------------
- F8D - F93 Hardware configuration
- 220,240 Sound Blaster respective
530,604,E80,F40 Windows Sound System
- 388 Adlib (Yamaha OPL-3)
- 300,310,320,330 Roland MPU-410 Midi
- 320,330,340,360 CD-ROM
- 200 Game Port
Interrupts
----------
- 5,7,10 Sound Blaster respective
7,9,10,11 WSS
- 5,7,9,10 MPU-401
- 3,5,7,9,10,11 CD-ROM
DMA
---
- 0,1,3 Sound Blaster respective
0,1,3 WSS
- 3,6,7 CD-ROM
-----------------------------------------------------------------
The OPTi MAD-16 can be used in either SB Pro mode or WSS Mode.
The Mixer is always in WSS Mode (The chip is the AD1848).
In both modes, the OPL-3 is available, as well as the MPU-401.
The CD-ROM interface is usable for
Mitsumi (LU, FX), Sony, Panasonic, IDE.
Programming the configuration Registers:
Port F8D:
---------
+---+---+---+---+---+---+---+---+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+
| | +---+ +-------+ +----- Game Port
| 0 | | 0: Game Port enabled
Mode--+ | | 1: Game Port disabled
0: SB | +---- CD Interface
1: WSS | 000: disabled
| 001: Sony
Base for SB--+ 010: Mitsumi
00: 220 (Mixer @ 530) 011: Panasonic
11: 240 (Mixer @ 604) 100: IDE
101 - 111: ????
Port F8E:
---------
+---+---+---+---+---+---+---+---+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+
+---+ | +---+---+ +-+-+
| | | +------ CD DRQ
CD Base-+ | |
00: 340 | +---- CD IRQ
01: 330 | 000: disabled
10: 360 OPL 3/4 001: 5
11: 320 0:OPL3 010: 7
1:OPL4 011: 3
^ 100: 9
| 101: 10
| 110: 11
| 111: ????
|
< Poprawka dot. OPL3/4 >
Port F8F:
---------
+---+---+---+---+---+---+---+---+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+
+-+-+ +-+-+ | | | |
| | 0 | 1 0
SB IRQ--+ SB DRQ |
00: 7 00: 1 +---- SB Port
01: 10 01: 0 0: 220
10: 5 10: 1 1: 240
11: ??? 11: ??
Port F90:
---------
????? always A2
Port F91:
---------
+---+---+---+---+---+---+---+---+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+
| +------ AD1848 access
| 0: disabled
+--- CD-Port 1: enabled
0: disabled
1: enabled
Port F92:
---------
+---+---+---+---+---+---+---+---+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+
| +-+-+ +-+-+ | | |
MPU-401 | | 0 1 1
0: disable | |
1: enable | |
| |
MPU Port----+ MPU IRQ
00: 330 00: 9
01: 320 01: 10
10: 310 10: 5
11: 300 11: 7
Port F93:
---------
+---+---+---+---+---+---+---+---+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+
|
|
+--- set to 1 if SB Port @ 240
to set any of these Ports, one must FIRST write E3 to F8F and in the next
I/O write or read the desired port. Remember to disable and re-enable
all interrupts during this procedure.
Example configuration:
select Windows Sound System @ 530, No Joystick, Mitsumi (LU, FX) CD-ROM
@ 320, IRQ 11, No DMA, enable Mixer access, set MPU enabled to 300, IRQ 5:
out f8f,e3
out f8d,84
out f8f,e3
out f8e,dd
out f8f,e3
out f8f,c2
out f8f,e3
out f90,a2
out f8f,e3
out f91,90
out f8f,e3
out f92,f3
out f8f,e3
out f93,00
Now set WSS to IRQ 7, DRQ 1:
out 530,0a
Apply the following patch to linux/drivers/sound/soundcard.c:
185a186,210
> #define MAD_16
> #ifdef MAD_16
> {
> /* Special handling for OPTi 82C929 */
> long flags;
> printk("Now enabling OPTi 82C929...");
> DISABLE_INTR(flags);
> OUTB(0xE3, 0xF8F); /* Trigger Gate */
> OUTB(0x84, 0xF8D); /* select WSS, Mitsumi CD, No Joystick */
> OUTB(0xE3, 0xF8F); /* Trigger Gate */
> OUTB(0xDD, 0xF8E); /* Mitsumi setup */
> OUTB(0xE3, 0xF8F); /* Trigger Gate */
> OUTB(0xC2, 0xF8F); /* No Soundblaster */
> OUTB(0xE3, 0xF8F); /* Trigger Gate */
> OUTB(0xA2, 0xF90); /* some magic ?? stuff */
> OUTB(0xE3, 0xF8F); /* Trigger Gate */
> OUTB(0x90, 0xF91); /* CD, Codec enable */
> OUTB(0xE3, 0xF8F); /* Trigger Gate */
> OUTB(0xF3, 0xF92); /* MPU-401 */
> OUTB(0xE3, 0xF8F); /* Trigger Gate */
> OUTB(0x00, 0xF93); /* ?? */
> RESTORE_INTR(flags);
> printk("Done\n");
> }
> #endif
set in linux/drivers/block/mcd.h the appropriate I/O address (320)
configure the sound driver for MPU-401 and Windows Sound System
Make your kernel and enjoy!!.
Future Projects:
write a complete driver including mixer support and full OPL-3 support
for the MAD-16
enjoy,
Mike
--
==============================================================================
| Michael Hasselberg | Tel.(voice/fax/modem): +49 2335 61220 |
| Grundschoetteler Str. 125b | Email: mik...@zonta.ping.de |
| 58300 Wetter | CompuServe: 100303,1044 |
-------------------------------------------------------------------------------
Lista ta niestety wciaz nie jest kompletna. Gdyby ktos znalazl cos bardziej
wyczerpujacego, niech nie zwleka...
Dla posiadajacych CD-ROM'a male uzupelnienie pochodzace z driverow MAD16 do
(oczywiscie) Linuxa:
* CD-ROM type selection (select just one):
* 0x02 - Sony 31A
* 0x04 - Mitsumi
* 0x06 - Panasonic
* 0x08 - Secondary IDE
* 0x0a - Primary IDE
*
* CD-ROM DMA (Sony or Panasonic): 0x00=DMA3, 0x01=DMA2, 0x02=DMA1 or 0x03=disabled
* or
* CD-ROM DMA (Mitsumi or IDE): 0x00=DMA5, 0x01=DMA6, 0x02=DMA7 or 0x03=disabled
Tak wiec wystarczy do $f91 wpisac 00 i juz mamy dostep do rejestrow WSS-a,
a w tym takze miksera.
Oczywiscie w zaleznosci od karty nalezy wczesniej wpisac "password"
do $f8f - dla kart Mozart i MAD16 wartosc E2h, dla MAD16PRO E3h.
Nalezy uwazac w trybie SB - po wlaczeniu AD1848 programy do SB przestaja
dzialac - nalezy odlaczyc uklad ustawiajac odpowiedni bit.
Przy okazji: W trakcie moich bojow z programem przelaczajacym prace karty
( "troche" mniejszym niz "poltonowa krowa" ;-)))
natrafilem na problem z ktorym nie moge sobie poradzic.
Nie wiem w jaki sposob ustawic wejscie (MIC,LINE,CD,OUT->IN).
Wachlowalem rozne wartosci do rejestru wewnetrznego 0 - a w szczegolnosci bity
6-7 - zgodnie z opisem pana Janusza. Zawartosc rejestru zmianiala sie
wlasciwie, ale bez rezultatu na dzialanie karty - zawsze wlaczone pozostawalo
wejscie LINE IN...
-------------------------------------------------------------------------------
Krzysztof Jacewicz
ja...@gumbeers.elka.pg.gda.pl
air...@smokie.elka.pg.gda.pl
-------------------------------------------------------------------------------
Re: WSS - konfiguracja
Author: now... stud
Date: Wed, 10 Jan 1996 00:00
Date: Wed, 10 Jan 1996 00:00
20 lines
1427 bytes
1427 bytes
Krzysztof Jacewicz (ja...@gumbeers.elka.pg.gda.pl) wrote: [ wycieta cala masa swietnego opisu Mad16pro ] : Przy okazji: W trakcie moich bojow z programem przelaczajacym prace karty : natrafilem na problem z ktorym nie moge sobie poradzic. : Nie wiem w jaki sposob ustawic wejscie (MIC,LINE,CD,OUT->IN). : Wachlowalem rozne wartosci do rejestru wewnetrznego 0 - a w szczegolnosci bity : 6-7 - zgodnie z opisem pana Janusza. Zawartosc rejestru zmianiala sie : wlasciwie, ale bez rezultatu na dzialanie karty - zawsze wlaczone pozostawalo : wejscie LINE IN... Hmm.. Mozliwe, ze to samo co do rejestru 0 trzeba wpisac i do rej. 1, bo uklad nie moze samplowac lewego kanalu np. z MIC, a prawego z LINE. Czy karta byla w trybie WSS czy SBP? W trybie SBP moze nie da sie tego zmieniac. Trzeba by sie dokladniej przyjrzec obsludze mixera w Linuxie. -- Janusz Nowicki now...@infoserv.ii.uj.edu.pl
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads