  Gravis ULTRASOUND Plug n' Play Mini-Como
  J. F. Mammet, mammet@diva.univ-mlv.fr
  Traducido por Iaki Martnez Dez, imd@redestb.es
  Versin 0.01, 27 de Marzo de 1996

  1.  Introduccin

  Como fan de las tarjetas de sonido Gravis desde hace mucho tiempo, me
  alegr mucho cuando finalmente Gravis sac algo nuevo. Haba planeado
  comprar la nueva Ultrasound desde haca tiempo, y la compr con un
  mega de RAM tan pronto estuvo disponible aqu en Francia.

  La instal, y qu sorpresa, mi BIOS plug and play la detect, e
  incluso windows95 (lo siento, bromas estpidas sobre marketing95 hoy
  no). As que pens que la tarjeta funcionara en cualquier sitio ...

  Entonces arranqu Linux, no tuve problemas, la tarjeta fue detectada
  como una GUS rev 3.4, lo cual me pareci estar bien, pero no lo estaba
  ...

  Algn tiempo despus prob Quake, y no sonaba. Entonces le el manual
  del juego, y v que Quake estaba usando algn DMA no estndar que la
  GUS no poda proporcionar ...

  Pens que no era bueno para mi, tener tan buena tarjeta y no tener
  sonido en tan genial juego (la versin dos necesita la emulacin de
  sound blaster, y yo incluso prefiero sin sonido que eso).

  As que, Ahora qu? debera esperar hasta Mayo para un driver de GUS
  PnP?  Debera comprar una sound blaster (buag)? Que ocurrir en el
  prximo episodio de Expediente X?

  2.  GUS MAX?

  Entonces volv al dos, y jugu un poco con el programa iwinit, mir lo
  que el programa deca cuando usaba el modo verbose y vi algo como
  CODEC direccin 32c ...

  Qu? La GUS PnP tiene un Codec CS4231/CS1848 como la GUS MAX?

  Entonces mir en mis cintas de backup buscando los drivers de Gravis
  viejos, tom el ultrinit 2.31 de ellos y tecle:

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

  y descubr que:  Ultrasound MAX detectada !!!

  Genial!, pens entonces, slo tengo que poner esto antes de cargar
  Linux y tendr soporte GUS MAX, y finalmente conseguir que el
  j****o Quake funcione con sonido!!

  No fue tan fcil 8(

  3.  Investigacin del Driver

  No soy un buen programador, pero se suficiente C para observar los
  fuentes de un driver y ver qu pasa (especialmente cuando est bien
  comentado).

  Mir el fichero gus_card.c, pero no encontr nada interesante.
  Entonces mir en gus_wave.c, y v esto:

         * 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.

  que significa:

         * el Valor 255 se refiere a pre-3.7 la cual no tiene mixer.
         * los Valores 5 a 9 se refiere a v3.7 los cuales tienen un mixer ICS2101.
         * 10 y superior es GUS MAX la cual tiene el codec/mixer CS4231.

  Genial!, solo tengo que forzar el valor a 10, y funcionar ...  No!

  haciendo esto hara que el kernel pensase que se tiene una GUS MAX,
  pero no reconocer el chip Codec!

  Por lo que tena que forzar la deteccin del Codec tambin ...

  No fue tan fcil encontrar qu hacer, pero finalmente descubr una
  posisbilidad: En el fichero  gus_wave.c, haba una lnea:

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

  lo que significaba que el kernel estaba intentando auto-detectar el
  chip AD1848, pens que no lo podra detectar con la GUS PnP, y estaba
  en lo cierto! Simplemente cambi la lnea a:

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

  recompil el kernel, y hey, Quake funcion de maravilla!!!

  Por cierto hay una etiqueta gus_pnp_flag en gus_card.c, pero no he
  notado ninguna diferencia con ella activada o desactivada 8( (quizs
  hice algo mal)

  4.  Qu debera hacer exactamente?

  No olvidar que esto no funcionara si no hay RAM en la GUS ...

  Primero de todo no usar LILO nunca ms, ya que es necesario
  inicializar la GUS PnP antes de ejecutar Linux ... (hacer un fdisk
  /mbr bajo dos, ver otros COMOs para ms detalles en esto).

  En el autoexec.bat, poner:

       set interwave=c:\ultrapnp\iw.ini
       c:\ultrapnp\iwinit
       set ultrasnd=220,6,5,5,5 (o cualquiera que se quiera o necesite)
       set ultra16=32c,0,0,1,0
       set ultradir=c:\ultrapnp
       c:\ultrapnp\ultrinit

  Se puede encontrar ultrinit en el fichero gus00045.zip, en cualquier
  site de Gravis ...

  Bajo Linux, abrir el fichero gus_wave.c, en
  /usr/src/linux/drivers/sound (o en cualquier otro sitio).  Buscar la
  lnea:

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

  y una lnea antes, aadir:

       val=10;

  Entonces buscar la lnea:

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

  y cambiarla a:

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

  recompilar el kernel con soporte de GUS y GUS MAX.
  Mi configuracin es:

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

  Disfruta del sonido!!!

  5.  Crditos

  Yo us el kernel 1.3.75 para modificar, pero debera funcionar en
  cualquier 1.3.70 y superior (por favor escribirme si hay algn
  problema)

  Este mini-COMO esta escrito por:

    e-mail : mammet@diva.univ-mlv.fr

    www    : http://diva.univ-mlv.fr/~mammet/

  Se puede conseguir la ltima versin de este documento de mi pgina
  WEB en
  http://diva.univ-mlv.fr/~mammet/linux.html (pronto disponible)

  No asumo ninguna responsabilidad si se pierden informaciones o
  cualquier error que pudiese ocurrir (incluso fastidiar win95).

  Si se encuentra algn error tipogrfico (o incluso errores tcnicos
  8-p), escribirme libremente, soy slo un pobre francs perdido en un
  mundo anglosajn, intentando hablar el idioma de forma comprensible.

  6.  Anexo: Grupos LiNUXeros en Espaa.

  Francisco Jos Montilla, pacopepe@nova.es, FidoNet 2:345/402.22 es
  coordinador del INSFLUG: (Impatient & Novatous Spanish Fidonet LiNUX
  Users Group) uno de los varios grupos de usuarios existentes en
  Espaa, y ms concretamente en la mejor ;-) rea de FidoNet: R34.LINUX
  junto con LuCas (LinUx en CAStellano).

  El INSFLUG se orienta preferentemente a la traduccin de documentos
  breves, como los Howtos y PUFs (-- Preguntas de Uso Frecuente, las
  FAQs. :)--) , etc.

  LuCas Coordina y realiza las traducciones de las guides, es decir,
  documentos ms extensos.

  Por supuesto, la orientacin de cada grupo no tiene carcter
  excluyente; si quieres colaborar en las dos, mejor! ;-).

  Actualmente estn siendo traducidos varios COMOs y FAQs, adems de las
  ``guides''.

  Otra fuente de informacin obligada para el recin incorporado son las
  FAQ elaboradas a partir del correo circulante por R34.LINUX por Pablo
  Gmez, pgomez@laereas.aiva.com, 2:341/43.40, disponibles prximamente
  en los formatos habituales de documentacin (ps, dvi, html, sgml, etc)
  en los servidores de Internet especificados ms adelante, as como en
  el mismo rea.
  Necesitamos tu colaboracin para futuras traducciones! si quieres
  unirte a nosotros ponte en contacto con:

  INSFLUG:

  Francisco Jos Montilla, pacopepe@nova.es, FidoNet 2:345/402.22

  LuCas:

  1. Juan Jos Amor,   jjamor@infor.es, FidoNet 2:341/12.19

  2. Alfonso Belloso, alfon@bipv02.bi.ehu.es, FidoNet 2:344/17.2

  Puedes obtener traducciones de:

  FidoNet:

    Elektra (95) 4164934/4161749 33k6/14k4

    La Voix (95) 4275081/4275321 28k8/14k4

  Si se da el caso de que carezcas de acceso a Internet, y no encuentras
  los COMOs en alguna de estas dos direcciones, no dudes en ponerte en
  contacto conmigo, y me encargar de subirlas a alguna de las dos.

  Por ltimo, recordarte que un inmejorable lugar para estar informado,
  as como consultar y discutir todo lo relacionado con LiNUX lo tienes
  en FidoNet, en R34.LINUX.

  Actualmente, ambos grupos poseen las siguientes listas de correo:

    LuCas: lucas@bipv02.bi.ehu.es

    INSFLUG: insflug@nova.es

  Ambas son listas tipo majordomo; para suscribirte, por ejemplo a la
  del INSFLUG, enva un email a majordomo@nova.es, con "subscribe
  insflug" en el cuerpo del mensaje.

  Dispones de todos los ``COMOs'' traducidos hasta ahora, as como
  informacin puntual sobre el INSFLUG y temas relacionados en:

  http://www.insflug.nova.es en sus versiones html, y listas para bajar,
  en http://ftp.insflug.nova.es

  Otro buen punto de bsqueda, consulta, y obtencin de la documentacin
  traducida, en formato HTML, con links a los dems formatos, as como
  las traducciones de las guas traducidas por LuCAS es:

  http://www.infor.es/LuCAS/

  junto con su ftp:

  ftp://ftp.infor.es/pub/LuCAS/

  Tanto el INSFLUG, como LuCAS, y todos los traductores implicados,
  esperamos que esta traduccin te haya sido de utilidad.

