  Ultrasound Plug'n'Play mini-HOWTO
  Autor: J-F MAMMET, mammet@diva.univ-mlv.fr
  v0.01, 27 Marca 1996
  WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii BB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll
  v1.0, 7 Wrzenia 1997


  Dokument ten zosta napisany w standardzie ISO-8859-2. Wersji oryginal-
  nej nie ma na gwnym serwerze (_s_u_n_s_i_t_e_._u_n_c_._e_d_u) _L_i_n_u_x _D_o_c_u_m_e_n_t_a_t_i_o_n
  _P_r_o_j_e_c_t, a na stron WWW autora (diva.univ-mlv.fr <http://diva.univ-
  mlv.fr/~mammet/>) nie mona si dosta.

  11..  WWpprroowwaaddzzeenniiee..


  Jako dugoletni fan kart dwikowych gravis-a, byem naprawd szczliwy
  kiedy zobaczyem prawdziw nowo gravis-a. Od dugiego czasu planowaem
  kupi kart _U_l_t_r_a_s_o_u_n_d i kupiem j z 1 MB RAM-u jak tylko pojawia si we
  Francji.

  Zainstalowaem j, i cieszyem si kiedy zostaa wykryta przez mj
  Plug'n'Play BIOS, a nawet przez Windows 95 (przepraszam, ale nie
  ponabijam si dzisiaj z ich marketingu). Wic pomylaem, e karta mogaby
  dziaa wszdzie...

  No to odpaliem Linux-a, nie miaem problemw, karta zostaa wykryta jako
  _g_u_s _r_e_v _3_._4, co wydawao si by poprawne, ale nie byo...

  Jaki czas pniej sprbowaem _Q_u_a_k_e_'_a i nie miaem dwiku. Przeczytaem wic
  podrcznik do gry, i zobaczyem, e korzysta on z pewnych mechanizmw DMA,
  ktrych nie byo w standardowym gus-ie.

  Pomyslaem, e to wcale nie jest zabawne, mie tak cholernie dobr kart i
  nie mie dwiku w takiej fajnej grze. (wersja dos-owa potrzebuje
  emulacji _s_o_u_n_d _b_l_a_s_t_e_r_-_a, a ja wol nie mie dwiku ni to)

  No to co teraz? Powinienem czeka do maja na sterownik PnP dla gus-a?
  Mam kupi _s_o_u_n_d _b_l_a_s_t_e_r_-_a (sic)? co bdzie w nastpnym odcinku _"_A_k_t _X_"?


  22..  GGUUSS MMAAXX??


  No i wrciem do dos-a i pobawiem si troch programem _i_w_i_n_i_t. Popatrzyem
  na to co mi wywietla w trybie _v_e_r_b_o_s_e i zobaczyem co takiego: CODEC
  adress 32c...

  Co? _g_u_s PnP ma CS4231/CS1848 Codec tak jak _g_u_s _M_A_X???

  Potem pogrzebaem po moich kopiach zapasowych i znalazem ostatnie
  sterowniki _g_r_a_v_i_s_-_a, wziem _u_l_t_r_i_n_i_t _2_._3_1 i wpisaem:


  ______________________________________________________________________
  >set ultrasnd=220,6,5,5,5
  >set ultra16=32c,0,0,1,0
  >set ultradir=c:\ultrapnp
  >ultrinit
  ______________________________________________________________________



  i wiecie co? _U_l_t_r_a_s_o_u_n_d _M_A_X _d_e_t_e_c_t_e_d !!!

  Wow. Super! Pomyslaem wic, e musz tylko to wpisa zanim wystartuje
  Linux-a i bd mia obsug _g_u_s _M_a_x i w kocu ten p**** quake bdzie mia dwik
  !

  To nie byo takie proste 8(


  33..  PPrrzzeerraabbiiaanniiee sstteerroowwnniikkaa..


  Nie jestem dobrym programist, ale znam C na tyle, eby przejrze
  sterownik i zobaczy co si dzieje (szczeglnie jeli jest tam duo
  komentarzy).

  Popatrzyem do pliku gus_card.c, ale nie znalazem nic ciekawego. Potem
  popatrzyem do gus_wave.c i zobaczyem co takiego:


           * Value 255 means pre-3.7 which don't have mixer.
           * Values 5 thru 9 mean v3.7 which has a ICS2101 mixer.
           * 10 and above is GUS MAX which has the CS4231 codec/mixer.



  Super! Po prostu musz ustawi warto 10 i bdzie dziaa... Nie!

  Zrobienie tego spowoduje, e jdro bdzie mylao, e masz _g_u_s _M_a_x, ale nie
  wykryje chip-a codec!

  Wic musiaem take wymusi wykrycie tego chip-a!

  Znalezienie co musz zrobi nie byo atwe, ale w kocu mi si udao. W pliku
  gus_wave.c bya taka linia:


  if (ad1848_detect (gus_base + 0x10c, NULL, hw_config->osp))



  co znaczyo, e jdro prbuje samo wykry chip AD1848. Pomylaem, e nie moe
  go wykry przez to _P_n_P i miaem racj! Zmieniem t lini na:


  if (!(ad1848_detect (gus_base + 0x10c, NULL, hw_config->osp)))



  skompilowaem jeszcze raz jdro i quake dziaa teraz na cacy!

  Tak przy okazji: W pliku gus_card.c jest opcja _g_u_s___p_n_p___f_l_a_g, ale nie
  widziaem adnej rnicy midzy tym kiedy bya wczona i wyczona 8( (moe
  robiem co le).


  44..  WWiicc ccoo mmaammyy ddookkaaddnniiee zzrroobbii??


  Nie zapomnij, e to nie bdzie dziaa jeli nie masz RAM-u na swojej
  karcie...
  Przede wszystkim nie uywaj ju _l_i_l_o, poniewa musisz zainicjowa _g_u_s_-_a
  _P_n_P zanim wystartujesz Linux-a ([Od tumacza] w tej chwili mona ju
  inicjowa karty (nie wszystkie) PnP pod Linux-em. Przeczytaj podrozdzia
  ``Karty PnP pod Linux-em.''). Napisz _f_d_i_s_k _/_m_b_r pod dos-em, przeczytaj
  odpowiednie HOWTO na ten temat).

  W swoim autoexec.bat wpisz:


  set interwave=c:\ultrapnp\iw.ini
  c:\ultrapnp\iwinit
  set ultrasnd=220,6,5,5,5 (czy jakie tam s twoje wartoci)
  set ultra16=32c,0,0,1,0
  set ultradir=c:\ultrapnp
  c:\ultrapnp\ultrinit



  _U_l_t_r_i_n_i_t znajdziesz w gus00045.zip na kadym ftp z _g_r_a_v_i_s_-_e_m.

  Pod Linux-em, otwrz plik gus_wave.c w katalogu
  /usr/src/linux/drivers/sound (czy gdziekolwiek indziej). Znajd lini:


  if (val == 255 || val < 5) (line 3049 in 3.5b7)



  i w linii wczeniej napisz:


  val=10;



  Potem znajd lini:


  if (ad1848_detect (gus_base + 0x10c, NULL, hw_config->osp)) (line 3085)



  i zmie j na


  if (!(ad1848_detect (gus_base + 0x10c, NULL, hw_config->osp)))



  Skompiluj jdro z obsug _g_u_s_-_a i _g_u_s _m_a_x. U mnie jest to:


  BASE = 220
  IRQ = 5
  DMA1 = 6
  DMA2 = 5
  DMABUF = 65536



  No i miej zabawy z dwikiem!


  44..11..  KKaarrttyy PPnnPP ppoodd LLiinnuuxx--eemm..


  [Sekcja dodana przez tumacza.]

  Do inicjalizacji karty suy narzdzie o nazwie _s_a_p_n_p_t_o_o_l_s, ktre jest do
  zdobycia np. pod adresem ftp.icm.edu.pl
  <ftp://ftp.icm.edu.pl:/pub/Linux/suniste/system/hardware>. Dokadny
  opis znajduje si razem z dystrybucj. Oglnie wyglda to tak: najpierw
  kompilujesz programy _i_s_a_p_n_p i _p_n_p_d_u_m_p. Potem tym drugim generujesz
  sobie plik konfiguracyjny, ktry potem odpowiednio modyfikujesz do
  wasnych potrzeb. Nastpnie, eby zainicjalizowa kart (jeli uywasz moduu
  do dwiku), piszesz _i_s_a_p_n_p /etc/isapnp.conf i _i_n_s_m_o_d _s_o_u_n_d.


  55..  CCrreeddiittss..


  Uywaem jdra w wersji 1.3.75, ale powinno by dobrze rwnie z jdrami
  nowszymi ni 1.3.70 (napisz do mnie jeli tak nie jest).

  To mini-HOWTO zostao napisane przez J-F MAMMETa.
  e-mail: mammet@diva.univ-mlv.fr
  www: http://diva.univ-mlv.fr/ mammet/
  Najnowsz wersj tego dokumentu moesz pobra z mojej strony WWW pod
  adresem diva.univ-mlv.fr <http://diva.univ-mlv.fr/~mammet/linux.html>
  (to w krtce).

  Nie bior adnej odpowiedzialnoci za jakiekolwiek szkody, ktre mog ci si
  przytrafi (nawet padnite win95).

  Jeli zobaczysz jakie bdy w pisowni czy techniczne, to nie wahaj si
  napisa do mnie. Jestem tylko biednym Francuzem zagubionym w angielskim
  wiecie, prbujcym mwi zrozumiaym jzykiem.

  27 Marca 1996.


  55..11..  OOdd ttuummaacczzaa..


  Tumaczenie to jest chronione prawami autorskimi (C) Bartosza
  Maruszewskiego.  Dozwolone jest rozprowadzanie i dystrybucja na
  prawach takich samych jak dokument oryginalny.

  Jeli znalaze jakie race bdy ortograficzne, gramatyczne, skadniowe,
  techniczne to pisz do mnie:

  B.Maruszewski@jtz.org.pl

  Oficjaln stron tumacze HOWTO jest http://www.jtz.org.pl/

  Aktualne wersje przetumaczonych dokumentw znajduj si na teje stronie.
  Dostpne s take poprzez anonimowe ftp pod adresem ftp.jtz.org.pl w
  katalogu /HOWTO/.

  Przetumaczone przeze mnie dokumenty znajduj si take na mojej stronie
  WWW. <http://www.jtz.org.pl/bartek/tlumaczenie.html> S tam te odwoania
  do Polskiej Strony Tumaczeniowej.

  Kontakt z nasz grup, grup tumaczy moesz uzyska poprzez list dyskusyjn
  jtz@ippt.gov.pl. Jeli chcesz sie na ni zapisa, to wylij list o treci
  subscribe jtz Imi Nazwisko na adres majordomo@ippt.gov.pl

  Zmiany wprowadzone przez tumacza:
  Doadaem sekcj dotyczc inicjalizacji kart PnP pod Linux-em.












