Sound Blaster AWE 32/64 ­µ®Ä¥d HOWTO §@ªÌ: Marcus Brinkmann < [1]Marcus.Brinkmann@ruhr-uni-bochum.de> ĶªÌ: Á±X¤¤ HSIEH Kun-Chung, ¥xÆW ¤¤µØ¥Á°ê Taiwan, Republic of China (NOT People's Republic of China) ( [2]linuxer.bbs@cis.nctu.edu.tw ) v1.2ª©, 1998¦~ 1¤ë11¤é _________________________________________________________________ ¥»¤å¥ó¦b±Ô­z¦p¦ó¦w¸Ë¤Î«Øºc Sound Blaster 32 (SB AWE 32, SB AWE 64) ­µ®Ä ¥d¥H¤Î¨Ï¥Î¥Ñ Takashi Iwai ©Ò¼gªº AWE Sound Driver Extensionªº Creative Labs­µ®Ä¥d¡C¥¦ÁÙ¥]§t¤@¨Çµ¹ SB AWE ¨t²Î©Ò¥Î¯S®íªº¤u¨ã¥H¤Î¼·©ñ¾¹¡C§Ú¨Ï¥Î ªº¬ODebian GNU/Linux ¨t²Î¡A¦ý¬O¨ä¥Lªº¥ô¦ó¤@ºØ Linux ¨ÑÀ³°Óª©¥»¬Ò¥i¥H¹B §@¡C _________________________________________________________________ 1. ²¤¶ * 1.1 ·PÁ * 1.2 §ïª©¾ú¥v * 1.3 ¥»¤å¥óªº·sª©¥» * 1.4 ¦^À³ * 1.5 ´²§G¬Fµ¦ 2. ¦b§A¶}©l¤§«e * 2.1 ²¤¶ * 2.2 Ãö©ó SB AWE ¥dªº¤@¯ë±`ÃÑ * 2.3 Ãö©ó Plug & Play ¥d¥dªº¤@¯ë±`ÃÑ * 2.4 Ãö©ó¥i¸ü¤J¦¡®Ö¤ßµ{¦¡¼Ò²Õªº¤@¯ë±`ÃÑ * 2.5 Ãö©ó®Ö¤ßµ{¦¡­µ®ÄÅX°Êµ{¦¡ªº¤@¯ë±`ÃÑ 3. ¦p¦ó¦w¸Ë SB AWE ­µ®Ä¤ä´© * 3.1 §A»Ý­nªºªFªF * 3.2 ¶}©l§a ! * 3.3 ½sĶ®Ö¤ßµ{¦¡ * 3.4 ­«¶}¾÷ 4. ´ú¸Õ¦w®ÄÅX°Êµ{¦¡ * 4.1 /proc/devices, /dev/sndstat * 4.2 ¿é¥X¡Ð Raw Audio Device * 4.3 ¿é¥X - OPL-2/OPL-3 Synthesis * 4.4 ¿é¥X - Wave Table Synthesis * 4.5 ²V­µ * 4.6 ¿é¤J¡Ð¨Ï¥ÎRaw Audio Device¨Ó¨ú¼Ë * 4.7 MIDI °ð 5. AWE ÅX°Êµ{¦¡³nÅé * 5.1 sfxload * 5.2 drvmidi 6. ªþ¿ý * 6.1 ªþ¥[¸ê°T * 6.2 ¨Ó·½ * 6.3 ½d¥» isapnp.conf _________________________________________________________________ 1. ²¤¶ ³o¬O Sound Blaster AWE HOWTO¡A¥¦µ¹§A¦³Ãö©ó¦p¦óµo´§§Aªº Sound Blaster 32ªº¸Ô²Ó¸ê°T ¡A¥]§t Wave Table synthesis¡C³o¥÷¤å¥ó§t»\©Ò¦³ªº SB ¥d¡A¥] §t SB 32¡C ¦b DOS ©Î Windows ªº¥@¬ÉùØ¡A Sound Blaster ¨t²Î¤w¬O­Ó®a³ë¤á¾åªº¦WºÙ¡A ¦Ó¥B¦³«Ü¦hªº Linux ¨Ï¥ÎªÌ¤]·Q­n¦b Linux ¤U¨Ï¥Î¥L­Ì¡C¤£©¯ªº¬O¡A Creative Labs ¥u´£¨Ñ ¦b Windows ¥H¤Î DOS ¤Uªº­µ®ÄÅX°Êµ{¦¡¡A©Ò¥H¦b Linux ¤U¦w¸Ë SB ¥dÅܦ¨¤£¬O¥ó¤p¨Æ¤F¡C ³o¥÷¤å¥ó¸ÕµÛ¨Ó±Ô­z§Ú­Ì¦p¦ó¦b Linux ªºÀô¹Ò¤U¨Ï¥Î SB AWE ¨t¦C¡C 1.1 ·PÁ ³o¥÷¤å¥ó¤¤§Ú©Ò»`¶°ªº¸ê°T¨Ó¦Û©ó AWE Driver FAQ ¥H¤Î ISA PnP FAQ¡C ½Ð¬Ý [3]Sources ³o¨Ç¤å¥óªº§@ªÌ¥H¤Î¦ì¸m¡CÁÂÁ©Ҧ³ªº§@ªÌ¡A¤~¯à ¦³¤µ¤Ñ SB AWE ªº¤ä´©¡C ¦³«Ü¦h°ò¥»¤u§@¤w¥Ñ [4]Hannu Savolainen°µ¦n¤F¡A¥L¶}µo¤F»P Linux ®Ö¤ßµ{¦¡ ¬ÛÀHªº­µ®ÄÅX°Êµ{¦¡¡CÁÂÁ±z¡C §Ú·QÁÂÁ [5]Nicola Bernardelli ¥L´ú¸Õ¤F AWE64 ªº¬ÛÃö¥\¯à¡C¨S¦³¥L¡A¦³«Ü ¦hªº¿ù»~¥i¯àÁÙ¦s¯d¦Ó¥¼³Qµo²{¡C ÁÂÁ [6]SGML Tools ³o¥÷®M¥ó¡A³o¥÷ HOWTO ¤å¥ó¥i¥H¦³«Ü¦hºØ¤å¥ó®æ¦¡¡A¦Ó¥B ¥u»Ý¨Ï¥Î¤@ºØ®æ¦¡´N¥i ¥H¨Ó°µÂà´«¡C 1.2 §ïª©¾ú¥v ª©¥» 1.0 ­ºª© ª©¥» 1.1 ­×§ï«÷¦r«á(ÁÂÁ Curt!)¡A¼W­qµ¹ isapnpªº»Ý¨D¡A²{¦b¥i¥H¸g¥Ñ sunsite ¥H¤Î¥¦ªº¬M®g¯¸¨ú±o ª©¥» 1.2 ªk¤åª©¤w¸g¥XÄl¤F!¡A¥u°µ¤Ö³\ªº­×¥¿¡A­×­q¤F«Ü¦h«÷¦r (·PÁ ispell) 1.3 ¥»¤å¥óªº·sª©¥» ³Ì·sªºª©¥»¥i¥H¦b§Úªº­º­¶ùاä¨ì [7]Sound Blaster AWE HOWTO¡C ³o¥÷¤å¥óªº·sª©¥»·|³Q¤W¸ü¨ì³\¦h FTP ¯¸¤W¡A¥]§t [8]ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini¡C ³o¥÷¤å¥óªº¶W¥»¤åª©¥H¤Î¨ä¥Lªº Linux HOWTO ¤å¥ó³£¥i¦b³\¦hªº WWW ¯¸ùاä¨ì ¡A¹³ [9]http://sunsite.unc.edu/LDP/¡C³\¦hªº Linux CD-ROM ¨ÑÀ³°Óª©ùؤ]³£ ·|¦³ HOWTO ¤å¥ó¡A³q±`¬O©ñ¦b /usr/doc ¥Ø¿ý¤U¡C ·PÁ Arnaud Launay [10]zoro@lsol.tm.fr¡A³o¥÷¤å¥óªºªk¤åª©¤~¯à½Ï¥Í! ³Ì·s ªºª©¥»¥i¥H¥Ñ [11]http ©Î [12]anonymous ftp¨ú±o¡C ¦pªG§A­n½Ķ³o¥÷¤å¥ó¨ì§Aªº»y¨¥¡A½ÐÅý§Úª¾¹D¡A§Ú·|¥[¤J¤@¥÷¥¦ªº°Ñ¦Ò³sµ²¡C Ķµù¡G³o¥÷¤å¥óªº¤¤¤åª©¥i¦b [13]http://www.linux.org.tw/LCDP/¤U¨ú±o¡C 1.4 ¦^À³ §Ú¥õ¿à§A¡A¦U¦ìŪªÌ¡A¨ÓÅý³o¥÷ HOWTO Åܱo¦³¥Î¡C¦pªG§A¦³¥ô¦óªº«Øij¡A§ó¥¿©Î «ü±Ð ½ÐÅý§Úª¾¹D [14]Marcus.Brinkmann@ruhr-uni-bochum.de¡A§Ú·|±N¥¦¾ã¦X¨ì ¤U¤@ª©¥»ùØ¡C §Ú¯S§OÅwªïÃö©ó¨ä¥L¦³¥~ªº Linux ¨ÑÀ³ª©¥»ªº±Ò°Êµ{§Ç (±Ò°Ê©R¥O¤â½Z..µ¥)¨Ò ¦p Red Hat ©Î SuSE Linux¡C ¦pªG§A±N³o¥÷¤å¥ó¥Xª©¨ì CD-ROM ©Î¨ä¥L§Î¦¡¡A¦pªG¥i¥Hµ¹§Ú¤@¥÷§K¶O¼Ë«~§Ú·| «Ü·P¿E§A¡C ½Ð§A±N¥L±H¨ì§Úªº¶l¬F¦a§}¡CÁÙ¦³¡A±z¥i¦Ò¼{®½¿úµ¹ Linux ¤å¥ó­p µe¨Ó¨ó§U§Ú­Ì¬° Linux °µ§K¶Oªº¤å¥ó¡C½Ð±z³sµ¸ Linux HOWTO ³sµ¸¤H Tim Bynum [15]linux-howto@sunsite.unc.edu¡C 1.5 ´²§G¬Fµ¦ ª©¥» 1997 Marcus Brinkmann ³o­Ó HOWTO ¬O¥÷§K¶O¤å¥ó¡F§A¥i¥H¦b§K¶O³nÅé°ò¥»·| (Free Software Foundation) ªº GNU ¤@¯ë¤½¥Î°õ·Óªº±ø¥ó(²Ä¤Gª©©Î§ó·sªºª©¥»)¤U¨Ó´£¨Ñ©Î­×§ï ¥¦¡C ³o¥÷¤å¥óªº´²§G¬O§Æ±æ¥¦¯à¯à¦³¥Î³B¡A¦ý ¤£°µ¥ô¦ó«OÃÒ( ¬Æ¦Ü¥ô¦ó·t¥Üªº«OÃÒ) ¥i¾P°âªº ©Î ¾A¦X¯S§O¥Ø¦aªº¡C¸Ô±¡½Ð¬Ý GNU ¤@¯ë¤½¥Î°õ·Ó¡C §A¥i¥H¼g«H¨ì [16]Free Software Foundation, ¨Ó¨ú±o¤@¥÷ GNU ¤@¯ë¤½¥Î°õ·Ó ¡C ¦a§} Inc., 675 Mass Ave, Cambridge, MA 02139 USA¡C 2. ¦b§A¶}©l¤§«e 2.1 ²¤¶ ³o¥÷¤å¥ó¸ÕµÛÀ°§U§A¦b Linux ¨t²Î¤W¦w¸Ë¥H¤Î¨Ï¥Î Creative Labs ªº Sound Blaster AWE 32 ©Î Sound Blaster AWE 64 ¡C§Ú©Ò¥Îªº¨t²Î¬O [17]Debian GNU/Linux ¨t²Î¡A¦b¤@¥xIntel i586 ¹q¸£¥­¥x¤W¡A¥¦À³¸Ó¥i¦b¨ä¥Lªº Linux ¨Ñ À³°Óª©¥H¤Î¨ä¥L¤ä´© Linux ­µ®ÄÅX°Êµ{¦¡ªº¥­¥x¤W¡A (¦pªG¦³¤£¦P³B¡A§Ú·|§â¥¦ ­Ì´£¥X¨Ó)¡C °O±o­n¥J²Ó¾\Ū Linux Sound HOWTO (½Ð¬Ý [18]Additional Information³¹¸`) ¡C§Ú¥u¬O¸É¥R Sount HOWTO ¤£¨¬ªº¦a¤è¦Ó¤w¡A ¦³¨Ç¸ê°T§Ú·|½Ð§A¦A¥h¾\Ū Sound HOWTO¡A³o¨à¤£¦AÂØ­z¡C 2.2 Ãö©ó SB AWE ¥dªº¤@¯ë±`ÃÑ SB AWE 32 ­µ®Ä¥d´£¨Ñ¤F¶§¬Kªº­µ®Ä³]³Æ¡B¼Ð·Ç OPL-2/OPL-3 ¦X¦¨¾¹¡B MPU-401 MIDI °ð¥H¤Î¦³ 32 voices ªº EMU 8000 Wave Table ¦X¦¨¾¹¡C (·Q¶i¤@ ¨B¤F¸Ñ³o¨Ç³N»yªº ·N«ä½Ð¬ÝLinux Sound HOWTO)¡C³o¥÷¤å¥óªº¥Ø¼Ð¬O­n¨ó§U§A¨Ï ¥Î¤Îµo´§³o¨Ç¥\¯à¡C SB AWE 64 °£¤F¬Û®e©ó SB AWE 32 ¤§¥~¡AÁÙ¼W¥[¤F¤@­Ó³sCreative Labs ¤½¥q³£ ¯S§O ·P¨ìź¶Æªº Wave Guide ¦X¦¨¾¹¡C Linux ¨Ï¥ÎªÌ©Ò­±Á{ªº¤@­Ó°ÝÃD¬O¡A ·s ¼W¥[ªº 32 ¼ÒÀÀÁn­µ¬O¥Ñ³nÅé©Ò²£¥Í¦A¸g¥Ñ¶§¬KªºÁnªi³]³Æ¨Ó¿é¥Xªº¡C¦]¬° Creative Labs ¥H¬° ¦b Linux ªºÅX°Êµ{¦¡¤W¨Ã¨S¦³¥«³õ¥i¨¥¡A©Ò¥H¤~¥u´£¨Ñ Windows 3.1 ¤Î Windows 95 ªºÅX°Êµ{¦¡¦Ó¤w¡C ³o·N¨ýµÛ¡A±q Linux ¨Ï¥ÎªÌªºÆ[ÂI¬Ý¨Ó¡ASB AWE 32 ©M SB AWE 64 ¤j®a³£¾å±o ¡A ¤U­±¶}©l°£«D¨âªÌ¦³¤£¦P³Bªº¤ñ¸û¥~¡A§Ú±N¥H SB AWE ¨Ó¥Nªí¨âªÌ¡C 2.3 Ãö©ó Plug & Play ¥d¥dªº¤@¯ë±`ÃÑ ³Ìªñ°t¦X Intel ¥­¥xªº¤¶­±¥d³£¬O ISA PnP ¥d¡A²ºÙ¬° ``Plug and Play''¡C ¤]´N¬O»¡¡A³o¨Ç¥d¥²¶·¥Ñ§@·~¨t²Î¨Ó«Øºc¡A³o»Ý­n¦b±Ò°Ê¨t²Î®É°µ¤@­Óªì©l¤Æªº µ{§Ç¡C ¤@¯ë¨Ó»¡¡A¦Ü¤Ö¦³¤TºØ¤£¦Pªº¤èªk¥i¥H¹F¦¨³o­Ó¡G 1. §A¦³ PnP Bios¡A·N«ü§Aªº BIOS ·|¦Û°Ê¹îı PnP ¥d¨Ã¥B«Øºc¥¦­Ì¡C¦pªG§A ¥H¬°§A¦³ PnP BIOS ©Ò¥H§A¥i¥Hµo´§§Aªº SB AWE PnP ªºªø¤~ªº¸Ü¡A«Ü¤£©¯ ªº¡Aªù³£¨S¦³¡C ´Nºâ BIOS ¦³¤ä´© PnP ¥d¡A¥¦¤]¥u¯àªì©l¤Æ®É±N§Aªº­µ®Ä ¥d©Ò¨Ï¥Î°ð¤Î¦ì§}°µ­Ó¤p³]©w¦Ó¤w¡C ¤]³\§A¥i¥H¼·©ñ¤@¨Ç°ò¥»ªº­µªi¸ê®Æ¡A ¦ýµLªk¼·©ñ MIDI ­µ®Ä¡A³o¬O­Ó¨Ò¤l¡C¦]¦¹¡A ¦³µL PnP Bios ³£µL©Ò¿×¡A¥Ñ §A¦Û¤v¨M©w¡C 2. §A¦³­Ó¤ä´© PnP ¥dªº§@·~¨t²Î¡C¥Ø«eí©wªº Linux ®Ö¤ßµ{¦¡ (2.0.x) ÁÙ¤£ ³o­Ó¼Ë¤l¡A ¦]¦¹¡A§Ú­Ì±oµ¥¥¼¨Óªº·sª©¥»¡A¥¦­Ì±N¤ä´© PnP ³]³Æ¡C 3. §A¦³­Ó¯S§Oªºµ{¦¡·|¦b±Ò°Ê¨t²Î®É°õ¦æ¡A¥¦·|ªì©l¤Æ§Aªº PnP ¥d¡C§Ú­Ì´N¬O ³o»ò¿ì¨ìªº¡C ¦b Linux ùس̱`³Q¨Ï¥Î¨Óªì©l¤Æ PnP ¥dªºµ{¦¡¬O ``isapnptools'' (½Ð¬Ý [19]Sources ¥H¤Î [20]Getting Started)¡C¥¦­Ì´£¨Ñ¤F¥i¹w´úªº¤è¦¡¨Ó«Øºc§Aªº ¾÷¾¹ùتº©Ò¦³ ISA PnP ¥d¡A¨Ã¤£¶È¥u­µ®Ä¥d¦Ó¤w®@¡C 2.4 Ãö©ó¥i¸ü¤J¦¡®Ö¤ßµ{¦¡¼Ò²Õªº¤@¯ë±`ÃÑ ¦³¨Ç³]³ÆÅX°Êµ{¦¡¥i¥H³Q°µ¦¨¼Ò²Õ¡A¦Ó¤£¥²±N¥¦­Ì½sĶ¨ì®Ö¤ßµ{¦¡ùØÀY¡C §A¥i¥H ¦b Kernel HOWTO ¤Î Module HOWTO ùاä¨ìÃö©ó¼Ò²Õªº¸ê°T¡C(½Ð¬Ý [21]Additional Information). ¦pªG§A¦³ PnP ¥d¡A§A ¥²¶· ±N­µ®Ä¥d¤ä´©¦¨¤@­Ó¥i¸ü¤J¦¡®Ö¤ßÅX°Êµ{¦¡¼Ò²Õ¡C ¤]´N¬O»¡¡A§A¤£¯à±N­µ®ÄÅX°Êµ{¦¡«Ø¥ß¦b®Ö¤ßµ{¦¡ùØÀY¡A¦Ó±N¥¦°µ§@¤@­Ó¼Ò²Õ¡A ³o¼Ë ´N¯à¦b®Ö¤ßµ{¦¡°õ¦æ®É³Q¸ü¤J¡C³o¬O¦]¬°®Ö¤ßµ{¦¡·|¦b§Aªº ISA PnP ¥d³Q «Øºc«e´N ³Q¦w¸Ë¤F¡A¦Ó§Aªº­µ®ÄÅX°Êµ{¦¡¥²¶·¦b ISA PnP «Øºc«á¤~·|³Q¸ü¤J¡C ­µ®Ä®Ö¤ßµ{¦¡¼Ò²Õ¥i¥H¨Ï¥Î insmod sound ©Î modprobe -a sound ©Î¦b§Aªº Linux ¨t²Îùتº¬Û¹ïªº±Ò°Ê©R¥O¤â½Zªº¤è¦¡¨Ó±Ò°Ê¡C (¦b Debian¡A¼W¥[¤@¦æ¥]§t sound ¨ì /etc/modulesªº©R¥O´N°÷¤F)¡C ±µ¤U¨Ó¡A°õ¦æ kerneld¡A¥¦¬O¤@­Ó¥i¥H ¦w¸Ë©Î²¾°£®Ö¤ßµ{¦¡¼Ò²ÕªººëÆF¡C °O±o kerneld ¨Ã¤£¬O¦b AWE ­µ®ÄÅX°Êµ{¦¡¼Ò²Õ¤W³Ì¦nªº¸Ñ¨M¤è®×¡A¦]¬°®Ö¤ßµ{ ¦¡¸ü¤J³o­Ó ¼Ò²Õ¤]­nªá®É¶¡¡A¯S§O¬O¦pªG§A­n¨Ï¥Î Wave Table ©R¦¨¾¹¨Ó¸ü¤J¤j ªº Sound Font bank ®É¡A §A´N¥²¶·¦b¨C¤@¦¸´¡¤J¼Ò²Õ®É¦A¸ü¤J¤@¦¸¡C ¦]¬° ®Ö ¤ßµ{¦¡ ·|¦b³]©w¤º©w­È«á¬ù¤@¤ÀÄÁ±N¤£»Ý­nªº ¼Ò²Õµ¹²¾°£¡A©Ò¥H¥H¤â°Ê¤è¦¡©Î ¦b±Ò°Ê®É±N­µ®Ä¼Ò²Õ´¡¤J¥i¯à·|¸û¦n¨Ç¡C ÁÙ¦³¡A³o»ò°µÁÙ¥i¥H¹w¨¾ ®Ö¤ßµ{¦¡ ¦b ¶i¤JªÅ¶¢¤U¨Ó®É²¾°£¥¦¡C§A¥i¥H ¦b¦P®É¶¡ùØ´¡¤J­µ®Ä¼Ò²Õ¨Ã¥B¨Ï¥Î ®Ö¤ßµ{¦¡ ¡C ¨âºØ¤èªk¤£·|¤¬¬Û±Æ¥¸¡A¦ý¬O ¼Ò¤ßµ{¦¡ ´N¤£¦AºÞ­µ®Ä¼Ò²Õ¤F¡C ¯S§O¬O§Aªº²V­µ¾¹­Y¬O¦b²¾°£©Î­«¦w¸Ë¼Ò²Õ®É·|¨ü¨ì¤zÂZªº¸Ü¯S§O¦³®Ä¡C ³o³¡¥÷ ªº¸Ñ¨M¤è®×¥i¦b [22]Mixing³¹¸`ùاä¨ì¡C (¥¦¦b±Ô­z¦p¦ó¦b­µ®Ä¼Ò²Õ³Q´¡¤J®É¦Û °Ê±Ò°Ê§Aªº²V­µ¾¹¡C)¡CµM¦Ó¡A¥¦­n ®Ö¤ßµ{¦¡ ªá®É¶¡¨Ó¸ü¤J¼Ò²Õ¡A¨Ó¸ü¤J sound font bank ¨Ã±Ò°Ê§Aªº²V­µ¾¹¡A ¦]¬°³o¼Ë¥H¤Î¨ä¥Lªº²z¥Ñ¡A³Ì¦n¦b±Ò°Ê¨t ²Î®É§Y¦w¸Ë­µ®Ä¼Ò²Õ¡A¤£­nÅý ®Ö¤ßµ{¦¡ ²¾°£¥¦¡C 2.5 Ãö©ó®Ö¤ßµ{¦¡­µ®ÄÅX°Êµ{¦¡ªº¤@¯ë±`ÃÑ §A¥i¥H¦b®Ö¤ßµ{¦¡¤¤¦w¸Ë­µ®Ä¤ä´©¦¨¤º«Øªº©Î¬O­Ó¥i¸ü¤J¦¡¼Ò²Õ¡C¦pªG¬O PnP ¥d ¡A§A¥²¶· ±N­µ®Ä¤ä´©¦w¸Ë¦¨¼Ò²Õ¡A¦]¬° PnP ¥d»Ý­n¦b¼Ò²Õ³Q¦w¸Ë«e¨Ï¥Î isapnptoo¨Óªì©l¥¦¡C ¦p§A©Ò·Q¡A§A¥²¶·­«½sĶ®Ö¤ßµ{¦¡¡C¤U­±§Ú·|µ¹§A´X­Ó´£¥Ü¡C²{¦b¡A§Ú­Ì¨Ó½Í½Í ®Ö¤ß­ì©lµ{¦¡ ùعﭵ®Äªº¤ä´©¡C ¦b®Ö¤ßµ{¦¡ùئ³­Ó§K¶O (ºë²ª©) ªº OSS (USS) ­µ®ÄÅX°Êµ{¦¡ª©¥»¡A ³Ì·sªº (3.5.4) ª©¨Ã¤£§¹¦¨¤ä´© SB AWE ¡A¦ý¬O¤ä ´©³¡¥÷ SB 16 ¡C©Ò¥H¡A§A¥i¥H¨Ï¥Î¥¦ §A´N¥i¨Ï¥Î³æ¯ÂªºÁn­µ³]³Æ¥H¤Î OPL-2/OPL-3 ¦X¦¨¾¹¡C¦ý§A«oµLªk¨Ï¥Î Wave Table¦X¦¨¾¹¨Ó ¼·©ñ midi ÀÉ¡C ¦pªG§A­n¨Ï¥Î Wave Table ³]³Æ¡A§A¥i¥H±q [23]4Front Technologies ¶R­Ó°Ó·~ ª©ªº­µ®ÄÅX°Êµ{¦¡ (¦pªG¦³¤H¥i¥H¸ò§Ú½T»{¥¦¯uªº¥i¥Hªº¸Ü )¡A©Î¬O¥Î Takashi Iwaiªº AWE 32 Sound Driver Extension ¨Ó­×¸É§Aªº®Ö¤ßµ{¦¡¡C«e­±¨º³¡¥÷¨Ã¤£ ¦b¥»¤å¥ó©Ò½Íªº½d³ò¡A §Ú°²³]§A·Q¨Ï¥Î«áªÌ¡C ³o­Ó AWE32 Sound Driver Extension (½Ð¬Ý [24]Sources³o³¹¸`) ¦b GNU ª©Åv ¤U´£¨ÑÅý SB AWE ¥dªº EMU 8000 wave ¦X¦¨¾¹Åܦ¨¥i¥Îªº¤u¨ã¡C ¦Ó awedrv ³nÅé¤w¸g³Q¥]§t¨ì·sªº®Ö¤ß­ì©lµ{¦¡¾ðùØ (±q¤@¨Ç 2.1.x ®Ö¤ßµ{¦¡¶} ©l¡A¤]³\§A·Q¤É¯Å§A ©Ò¨Ï¥ÎªºÂªº¼Ò¤ßµ{¦¡¾ð)¡C 3. ¦p¦ó¦w¸Ë SB AWE ­µ®Ä¤ä´© 3.1 §A»Ý­nªºªFªF ¦b Linux ¤U¨Ï¥Î SB AWE »Ý­n¤U¦CªFªF®@¡G * ¤@­Ó¥i¨Ï¥Îªº Linux ¨t²Î (¨Ò¦p Debian GNU/Linux ª©)¡A * ¤@­Ó SB AWE 32 ©Î¬Û®e¥d (¦p SB32, SB32 PnP, SB AWE64, ...)¡A * Linux ®Ö¤ßµ{¦¡ªº­ì©lµ{¦¡¡A¥]§t­µ®ÄÅX°Êµ{¦¡ OSS/Free (¥¿±`³£·|ªþ¡A½Ð ¬d¬Ý /usr/src/Linux/drivers/sound/Readme), * ÁÙ¦³ AWE 32 sound driver extensions. ¦pªG§A¦³­Ó PnP ¥d¡A§AÁٻݭn¡G * isapnptools ³nÅé®M¥ó¡C ½Ð¬Ý¦³Ãö©ó¦p¦ó¨ú±o³o¨Çµ{¦¡ªº³¹¸` [25]Sources¡C ¦pªG§A¦³ Debian GNU/Linux ¨t²Î¡A¨º§A»Ý­n kernel-source-, awe-drv ®M¥ó¡A¤]³\Áٻݭn isapnptools³o­Ó¡AÁöµM¨Ã¤£»Ý­n¦ý§A¥i¯à·Q­n¤@¨Ç awe-* ®M¥ó¡A§Ú ±j¯P«Øij§A±Ä¥Î kernel-package ·|§ó®e©ö½sĶ¤Î¦w¸Ë®Ö¤ßµ{¦¡ ¡C 3.2 ¶}©l§a ! °²³]§A¤w¸g¥¿½T¦a¦w¸Ë¦n­µ®Ä¥d¨ì§Aªº¹q¸£ªº¥D¾÷ªO¤W¦Ó¥B¤]¦b DOS ¥H¤Î WindowsÀô¹Ò¤W¸Õ¹L¤F¡C µM«á¡A¦pªG¥¦¬O¤@±i PnP ¥dªº¸Ü§Ú­Ì¥²¶·¦b¶}¾÷±Ò°Ê®Éªì©l¤Æ¤@¤U¡C½Ð«ö·Ó ­ì ©lÀÉ®M¥óªº¤å¥ó©Ò»¡¦a¥h½sĶ¥H¤Î¦w¸Ë isapnptools (©Î¥u»Ý¨Ï¥Î Debian ªº¤G ¶i¦ì½X®M¥ó)¡AµM«á¥H root ªº¨­¥÷°õ¦æ # pnpdump > /etc/isapnp.conf ³o¼Ë·|²£¥Í¤@­Ó¬°§Aªº PnP ¥d¶q¨­­q°µªº«Øºc¡A¦ý¥¦·|§â©Ò¦³ªº³]³Æ³£µù¸Ñ°_¨Ó ¡C½Ð¦A ¤p¤ß¦a­×§ï³o­ÓÀɮסA¦pªG¥i¯àªº¸Ü¨Ã¤ñ¸û DMAÀW¹D¡BIO¡B´¡Â_µ¥µ¥ªº³] ©w¬O§_»P¥¦¦b DOS ©Î WINDOW Àô¹Ò¤U¤£¤@¼Ë (¦b Win95 ùØ¡A­n¬Ý³Q¤¶­±¥d©Ò¨Ï ¥Îªº¸ê·½¥i¦b ³]³ÆºÞ²z­û¤Uªº ¸ê·½ ¬Ý)¡C ¦pªG§A¹J¨ì°ÝÃD¡A½Ð¤p¤ß¦aŪ¤@¤U ©Misapnptools ©ñ¤@°_ªº¤å¥ó¡C ½Ðª`·N: isapnptools ±`µLªk°»´ú SB AWE Wave Table ³]³Æªº¤T­Ó I/O °ð¡C ½Ð ¬d©ú§Aªº isapnp.conf ¤ºªº WaveTable ¶µ¥Ø against the example at the end of this HOWTO. ¦pªG»Ý­nªº¸Ü½Õ¾ã¤@¤U I/O base ¦ì§}¡C ª`·N: ®Ú¾Úe isapnp-faq¡A¦³®É­Ô isapnp ·|µLªk±oª¾ÅÞ¿è³]³Æªº¼Æ¥Ø¡C¦pªG§A ¾D¹J ¨ì¹³¤U­±ªº¿ù»~°T®§¡G Error occurred executing request 'LD 2' on or around line... ¨º¸Õ¬Ý¬Ý¥[¤J (VERIFYLD N) ¨ì isapnp.confªº¤WÀY¡C§A¥²¶·¨Ï¥Î¦Ü¤Ö¬O 1.10 ª©ªº¤~¯à³o»ò°µ¡C ¦pªG§AµLªk¨Ï¥Î 1.10 ©Î¬O§ó·sªºª©¥»¡C§A¤]¥i¥H¦Û¤wª½±µ¤â °Ê§ïÅÞ¿è³]³Æªº¼Æ¶q¡C ½Ð±¡½Ð°Ñ¦Ò isapnp-faq ¡C¦pªGÁÙ¬OµLªk§JªA¡A½Ð©M§Ú³s µ¸ (À³¸Ó¦³¤H¤]·|¹ï isapnp ¦³¿³½ì§a ¡A§Ú·Q)¡C ¤p¤ß: ½Ð½T»{³Ì«á¨º¦æ¬O (WAITFORKEY)¡A¦³®É­Ô¸ûªº pnpdump ª©¥»·|§R°£¥¦ ¡C ¦b¤å¥óªº«á­±¦³¤@­Óisapnp.conf µ¹³æ­Ó PnP ­µ®Ä¥d¥Îªº¼Ë¥»¡C (½Ð¬Ý³¹¸` [26]Sample isapnp.conf)¡C ¦pªG§A¬O¥Î Debian ¨t²Î´N¤£¥Î¦A°µ¥ô¦óªº¨ä¥L½Õ¾ã¡C /etc/init.d/boot ¥[¤W ¤U­±ªº ©R¥O¤â½Z¤U¡A§A´N¥i¥H¦b¶}¾÷®É±Ò°Êisapnp _________________________________________________________________ # Configure the isa plug and play boards before loading # modules. Need to do this before loading modules to get # a chance of configuring and starting PnP boards before # the drivers mess all this up. # if [ -x /etc/init.d/isapnp ] then /etc/init.d/isapnp start fi _________________________________________________________________ where /etc/init.d/isapnp is _________________________________________________________________ #! /bin/sh # /etc/init.d/isapnp: configure Plug and Play boards test -x /sbin/isapnp || exit 0 /sbin/isapnp /etc/isapnp.conf exit 0 _________________________________________________________________ ¦pªG§A¦³¨ä¥Lªº Linux ¨ÑÀ³°Óª©¥»¡A§A´N­n¦Û¤w¨Ó¤F¡C§Ú¤]¤£ª¾¹D«ç»ò°µ (¦³½Ö Ä@·N´£¨Ñ§ó¦hªº¸ê°T¶Ü?)¡C¥u­n°O±o isapnp ¥²¶·¦b©Ò¦³¼Ò²Õ³Q¸ü¤J ¤§«e ´N³Q ¸ü¤J¤F (½Ð¬Ý¤U­±)¡C 3.3 ½sĶ®Ö¤ßµ{¦¡ ¦b½sĶ®Ö¤ßµ{¦¡¤§«e¡A§A¥²¶·¦³ AWE Driver Extension ®M¥ó¨Óµ¹­µ®ÄÅX°Êµ{¦¡ ¨Ï¥Î¡C´Nºâ§A ªº®Ö¤ß­ì©lµ{¦¡¥Ø¿ýùؤw¸g¦³ awedrv ©µ¦ù®M¥ó¤F (½ÐÀˬd /drivers/sound/lowlevel/ ¬Ý¬Ý)¡A §A¥i¯à·Q­n¤É¯Å awedrv ³nÅé¡C¨Ì·Ó¦w¸Ë¦b awedrv ­ì©l¥Ø¿ýùتº«ü¥Ü¡C²³æ¦a»¡¡A§A¥²¶·°õ¦æ ¤@­Ó­×¸É®Ö¤ß­ì©lµ{¦¡ªº¦w ¸Ë©R¥O¤â½Z¡C ½Ð¤p¤ß§A¤w¸g¦b°õ¦æ§¹¦w¸Ë©R¥O¤â½Z«á¤w¸g¤É¯Å¤F®Ö¤ß­ì©lµ{¦¡¤F¡C³o­Ó©R¥O¤â ½Z ¥u¬O¦bÀˬd¬Ý¬Ý¤@¨Ç¯S©wÀɮ׬O§_¤w¸g¦³¤F¡A¦pªG¦³¤F¡A¥¦¤£·|¦³¥ô¦ó»Ý­nªº ­×¸É°Ê§@¡C §A¤É¯Å®Ö¤ß­ì©lµ{¦¡«á¦b°õ¦æ©R¥O¤â½Z«e·|³Q«Øij±N drivers/sound/lowlevel/awe_wav.c Àɮײ¾°£¡C ±µ¤U¨Ó§A¥²¶·«Øºc®Ö¤ßµ{¦¡¨Ó¤ä´©­µ®Ä¡C§Ú§Æ±æ§Aª¾¹D«ç»ò¨Ó½sĶ®Ö¤ßµ{¦¡¡F¸Ô ±¡½Ð°Ñ¦Ò Sound HOWTO ¥H¤Î Kernel HOWTO¡C¨ì®Ö¤ß­ì©lµ{¦¡ªº¥Ø¿ýùØ¡A (¨Ò¦p /usr/src/linux) µM«á°õ¦æ # make config ©Î¬O make menuconfig ©Î make xconfig¡CµM«á¥Î¼Ð·Çªº¤è¦¡¨Ó «Øºc§Aªº®Ö¤ßµ{ ¦¡¡C §Q¥Î³o­Ó¾÷·|¨Ó°µ­ÓÅé¿n¤S¤p¤S±j¦Ó¦³¤Oªº®Ö¤ßµ{¦¡¡A¯S§O¬O ¬°§Aªº¨t²Î ¶q¨­­q°µªº¡C°O±o¦b¦^µª Enable loadable module support ¬O¿ï Y¡A ¦pªG§A·Q §â­µ®ÄÅX°Êµ{¦¡¦w¸Ë¦¨¥i¸ü¤J¦¡¼Ò²Õªº¸Ü (¦pªG§A¥Îªº¬O PnP ¥dªº¸Ü´N ¥²¶·³o »ò°µ) ¡A¦ý§Úª¾¹D§A¤]·|³o»ò°µ§a¡I §A·|¦b¦³­Ó¦a¤è³Q°Ý¨ì¬O§_»Ý­n­µ®Ä¥d¤ä´©¡C¦pªG§A¨S¦³ PnP¥dªº¸Ü §A¥i¥H¦Û¥Ñ ¦^µª Y ©Î M ¡A¦pªG§A­n°µ¦¨¼Ò²Õªº¸Ü¦Ó¥B¬O PnP¥d¡A¥²¶· ¦^µª M¡C §A¥²¶·±N PnP ­µ®Ä¥dªº¤ä´©½sĶ¦¨¤@­Ó¼Ò²Õ¡A¦]¬°¦b¼Ò²Õ³Q¸ü¤J«e PnP ¥d¥²¶·¥ýªì©l¤Æ¡C ¤U¦Cªº°ÝÃD§AÀ³¸Ó¦^µª Y¡A¨ä¾l¦^µª N¡G _________________________________________________________________ Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?] Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB) [Y/n/?] /dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?] MIDI interface support (CONFIG_MIDI) [Y/n/?] FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?] lowlevel sound driver support [Y/n/?] AWE32 support (CONFIG_AWE32_SYNTH) [Y/n/?] _________________________________________________________________ ¥u¦³«á­±ªº¬Oµ¹ Wave Table ¦X¦¨¾¹¥Îªº¡C¨ä¾l¬O OSS/Free ­µ®ÄÅX°Êµ{¦¡µ¹ SB 16 ªº¿ï¶µ¡C °£¦¹¤§¥~¡A§A¥²¶·«Øºc­µ®Ä¥d I/O °ð¡C¥i°Ñ¦Ò isapnp.conf ÀÉ·|µ¹§A¤@¨Ç´£¥Ü ¡A ¦pªG§A¦³³o­ÓÀɪº¸Ü¡C¹ï§Ú¨Ó»¡¡A¤U­±ªº¤º©w­È´N°÷¤F¡C½Ðª`·N¡G®Ö¤ßµ{¦¡«Ø ºc©R¥O¤â½Zªº¤º©w­È ¤]¦³¥i¯à¬O¿ùªº (¯S§O¬O SBC_IRQ ©M SB_MPU_BASE ªº­È¹ï ¤j³¡¥÷ªº¥d¨Ó»¡¦n¹³³£¿ù¤F)¡C _________________________________________________________________ I/O base for SB Check from manual of the card (SBC_BASE) [220] Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5] Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1] Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7 (use 1 for 8 bit cards) (SB_DMA2) [5] MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card (SB_MPU_BASE) [330] SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1] _________________________________________________________________ ¦n¤F¡A²{¦b­«·s½sĶ®Ö¤ßµ{¦¡¡ADebian ªº¨Ï¥ÎªÌ­n¥Î kernel-package«ü¥O¡C ³o ­Ó®M¥óÅý§Ú­Ì½sĶ®Ö¤ßµ{¦¡´N¹³¦w¸Ë debian ªº®M¥ó¤@¼Ë®e©ö®@¡C½Ð¬Ý /usr/doc/kernel-package/ùتº¤å¥ó¡C³oùئ³­Ó´£¥Ü¡G # make-kpkg clean # make-kpkg -revision custom.1.0 kernel_image µM«á dpkg -i /usr/src/kernel-image-2.0.29_custom.1.0_i386.deb. ¦pªG§Aªº¬O¨ä¥Lªº Linux ¨ÑÀ³°Óª©¥»¡A½Ð¨Ì·Ó¼Ð·Çªº¤è¦¡¨Ó½sĶ·sªº®Ö¤ßµ{¦¡¡C ¤£­n§Ñ¤F make modules ¥H¤Î make modules_install¡C¸Ô±¡½Ð¬Ý Sound HOWTO ©Î Kernel HOWTO¡C 3.4 ­«¶}¾÷ ¦w¸Ë§¹·s®Ö¤ßµ{¦¡«á¡A§AÀ³¸Ó­«·s¶}¾÷ (½Ð°O±o§A­n¦³­Ó¥i¥Îªº¶}¾÷ºÏ¤ù¦b¤â ¤W)¡C¥æ¤eµÛ§Aªº¤â«üÀYµ¥¤@¤U¡C ¦pªG§A¦³­Ó PnP ¥d¡A½Ð½T»{¦b¶}¾÷±Ò°Ê©R¥O¤â½ZùةάO¤â°Ê¦a°õ¦æ isapnp (¹³ ¤W­±©Ò´£ªº¤@¼Ë)¡G # /sbin/isapnp /etc/isapnp.conf Board 1 has Identity 74 00 00 e3 10 48 00 8c 0e: CTL0048 Serial No 58128 [checksum 74] ²{¦b§A¥i¥H¦w¸Ë­µ®ÄÅX°Êµ{¦¡¤F¡A¦pªG§A¤w§â¥¦½sĶ¦¨¤@­Ó¼Ò²Õ¡G # modprobe -a sound AWE32 Sound Driver v0.3.3e (DRAM 2048k) ¦pªG§A»{¬°°O¾ÐÅé°»´ú¦³»~ (¦³­Ó¤H§i¶D§Ú»¡¥L¦³±i AWE64 ¥d¦³ 4096k¡AµM¦Ó ``°»´ú¨ì'' 28672k !)¡A½Ð¤É¯Å awedrv ³nÅé©Î¬O¦b /usr/src/linux/drivers/sound/lowlevel/awe_config.hÀÉ®×ùØ«ü©w°O¾ÐÅé¡A ¦p ¡G #define AWE_DEFAULT_MEM_SIZE 4096 /* kbytes */ ©êÁ¾¡A§A¥²¶·¦A­«·s½sĶ®Ö¤ßµ{¦¡ (¤]³\½sĶ³o¨Ç¼Ò²Õ´N°÷¤F¡A¦ý§Ú¤£½T©w)¡C ¦pªG¥¦¦¨¥\°Ê§@¤F¡A§A¥i¯à§Æ±æ­µ®Ä¼Ò²Õ¯à¦Û°Ê¸ü¤J¡C§A¥i¥H¨Ï¥Î kerneld ( ¦b 1.4³¹¸`ùئ³»¡©ú¬°¦ó³o¬O­ÓÃaÂI¤l) ©Î¬O¦b§Aªº/etc/modules (Debian¨t²Î) ùØ ÀY ¥[¤W¤@¦æ¥]§t sound ©Î¬O¥[¤W /sbin/modprobe -a sound ¨ì§Aªº±Ò°Ê©R¥O¤â ½ZùØ¡C 4. ´ú¸Õ¦w®ÄÅX°Êµ{¦¡ 4.1 /proc/devices, /dev/sndstat ¦pªG§A¦³¤º«Øªº­µ®Ä¤ä´©¡A§A·|¦b¶}¾÷®É¦¬¨ì¤@¨Ç¦³¥Îªº¸ê°T¡C¦pªG§Aªº­µ®Ä¤ä ´©¬O¦w¸Ë¦¨¥i¸ü¤J¦¡¼Ò²Õªº¡A §A¤]¥i¥H¥Î¤U¦C¤è¦¡±o¨ì¤@¨Ç¸ê°T (©Î³\­n¥ý¥Î modprobe -r sound ±N­µ®Ä²¾°£)¡C # modprobe -a sound trace_init=1 Sound initialization started at 0x220 irq 5 dma 1,5 at 0x330 irq 5 dma 0 at 0x388 Sound initialization complete AWE32 Sound Driver v0.3.3e (DRAM 2048k) ¦pªG§A¦³ /proc µêÀÀÀɮרt²Î¡A§A¥i¥H¥Î¤U¦C¤èªk¬Ý¨ì²Ä¤G­Ó³]³Æ # cat /proc/devices Character devices: [...] 14 sound [...] ±µ¤U¨Ó½Ð»{»{§A¦b /dev/ ¤U¦³­Ó¤w¥¿½T¦w¸Ëªº³]³Æ¡C¸Ô±¡½Ð¬Ý Sound HOWTO ¡C µM«á°õ¦æ /dev/sndstat ¥i¬d¸ß­µ®Ä¼Ò²Õªºª¬ºA¡C # cat /dev/sndstat Sound Driver:3.5.4-960630 (Sat Oct 11 19:35:14 CEST 1997 root, Linux flora 2.0.29 #1 Sat Oct 11 19:12:56 CEST 1997 i586 unknown) Kernel: Linux flora 2.0.29 #1 Sat Oct 11 19:36:23 CEST 1997 i586 Config options: 0 Installed drivers: Type 1: OPL-2/OPL-3 FM Type 2: Sound Blaster Type 7: SB MPU-401 Card config: Sound Blaster at 0x220 irq 5 drq 1,5 SB MPU-401 at 0x330 irq 5 drq 0 OPL-2/OPL-3 FM at 0x388 drq 0 Audio devices: 0: Sound Blaster 16 (4.13) Synth devices: 0: Yamaha OPL-3 1: AWE32 Driver v0.3.3e (DRAM 2048k) Midi devices: 0: Sound Blaster 16 Timers: 0: System clock Mixers: 0: Sound Blaster 1: AWE32 Equalizer ¦pªG§A¨S¦³¹³³o¼Ëªº¿é¥X¡A¤]³\¦b§Aªº«Øºcùئ³°ÝÃD¡AÄ~Äò§ä¬Ý¬Ý­þ¨à¤£¯à°Ê¡A ¦A¦^¨Ó [27]Getting Started¡AÀˬd¨C¤@¶µ¡C 4.2 ¿é¥X¡Ð Raw Audio Device ¥h¨ú±o¤@­Ó .au ÀÉ (Sun workstation) ©Î¼Ë¥»ÀɮסAµM«á³o¼Ë°µ¡G # cat bell.au > /dev/audio resp. # cat sample > /dev/dsp §A·|À³¸Ó¥i¥H¥Ñ Audio Device 0: Sound Blaster 16 (4.3)Å¥¨ì³o­ÓÀɮתº¤º®e ¡C 4.3 ¿é¥X - OPL-2/OPL-3 Synthesis ¦pªG§A­n¨Ï¥Î OPL-2/OPL-3 FM ¦X¦¨¾¹¦b§Aªº­µ®Ä¥d¤W¼·©ñ MIDIÀɮסA½Ð¸Õ¬Ý¬Ý playmidi ³o­Óµ{¦¡(½Ð¬Ýªþ¿ý B)¡C¨Ï¥Î¤èªk¦p¤U # playmidi -f dance.mid ©Î¬O # playmidi -4 dance.mid «e³õ·|µ¹§A OPL-2¡A«á³õ·|µ¹§A OPL-3 MIDI ­µ¼Ö¡C ¦pªG§Aı±o³o¨ÇÁn­µÅ¥¨Ó«Ü »¹¡A ¤£­n©Ç playmidi¡A¨º¬O¦]¬° FM ¦X¦¨¾¹Å¥°_¨Ó«Ü®t°Õ¡C ±z¥i¥H·Q¹³¤@¤U§A¥u¦³¤@­Ó OSS/Free ­µ®ÄÅX°Êµ{¦¡¡G¨º´N¬O§A©Ò¯à±o¨ìªº MIDI­µ¼Öªº«~½è¤F¡C (»P³nÅé¦X¦¨¤£¦P)¡C©¯¹Bªº¬O¡A§A¦³ SB AWE¡A§AÁÙ¥i¥H¨Ï ¥Î Wave Table ¥H¤Î AWE Sound Driver Extension¤F¡C 4.4 ¿é¥X - Wave Table Synthesis ¦b AWE Driver Extension ùئ³­Ó«Ü¯S§Oªº¤u¨ãµ{¦¡ (awesfx) ¥i¥Î¨Ó¨Ï¥Î EMU 8000 Wave Table ¦X¦¨¾¹¡C ­º¥ý¡A§A¥²¶·±q§Aªº­µ®Ä¥dùظü¤J Sound Font Bank ¡Ð´Nºâ§A·Q¨Ï¥Î ROM ªº¨ú¼Ë ! §A¥i¥H±q§Aªº Windows ªº ¦w¸Ë¤¤¨ú±o³o­Ó ÀÉ ¡Ð´M§äªþ¥[ÀɦW¬° *.sfb ©Î *.sf2ªºÀɮסC ROM ¨ú¼Ë¥i¥H¨Ï¥Î SYNTHGM.SBK¨Ó¸ü¤J¡A ¯u¹êªº¨ú¼Ë©ñ¦b SYNTHGS.SBK ¤Î SYNTHMT.SBK ¥H¤Î SAMPLE.SBKùØ¡C§A¤]¥i¥H±q ftp©Î www ¨Ó¨ú±o¨ä¥Lªº Sound Font Banksvia ¡A¥i¥H¸Õ¸Õ Creative Labs ªº EMU ªººô­¶¡A ¦³­Ó Chaos ¨ú¼Ë ¡A¥L­Ì¯uªº«Ü´Î (½ÐÀˬd AWE ÅX°Êµ{¦¡ºô¯¸)¡C ¸Õ¬Ý¬Ý¸ü¤J¼Ð·Çªº GM (ROM) set ¡A¨Ï¥Î # sfxload -i synthgm.sbk µM«á¼·©ñ­Ó¦ñÀHµÛ§Aªº SB AWE ªº midi ÀɮסG # drvmidi dance.mid 4.5 ²V­µ ¨ú±o§A³Ì³ßÅwªº²V­µ¾¹µ{¦¡¨Ã°õ¦æ¥¦¡C¦b¦P¤@®É¶¡¼·©ñ¤@­Ó­µ®Ä¨ú¼Ë¥H¤Î¨â­Ó MIDI Àɼ˥»¡A µM«á¸Õ¸Õ²V­µ¾¹ªº³]©w¡C ¼·¤@·|¨à¡A«Ü®e©öªº¡C¥H¤U¦³¥L­Ì³QºÙ ©Iªº³]³Æ¦Cªí¡G Yamaha OPL-3 Synth ©Î FM AWE32 Driver Synth ©Î FM (¦³¤Hª¾¹D²V­µ¾¹¬O a mixer were the last two are separated from each other?) Sound Blaster 16 (4.13) PCM ©Î DSP PC Speaker (still alive) Spkr ÁÙ¦³¤@¨Ç»P CD ROM ¬ÛÃöªº²V­µ¾¹¡A¥i¯à³s±µµÛ­µ®Ä¥dªº¦³ Master Volume, Bass, Treble ©M¤£¦P ¿é¤J­y¹Dªº¿ý­µ°ª§C¡C §A¥i¥H«ü©w­þ¨Ç­y¹DÀ³¸Ó³Q¿ý­µ¤U ¨Ó¡C 4.6 ¿é¤J¡Ð¨Ï¥ÎRaw Audio Device¨Ó¨ú¼Ë §A¥i¥H¿ý¤U¤£¦Pªº­µ·½¡G¬Û³sªº CD ROM¡B»P mic ¬Û³sªº³Á§J­·¡A¥H¤Î»P line in ¬Û³s±µªº¥ô¦ó­µ·½¡C±N²V­µ¾¹³]©w¦b¾A·íªº¦ì¸m¡C¼·©ñ¤@­ÓÁn­µ¨Ã±N¥¦¿ý­µ¦¨ ¤@­ÓÀɮסA¦A¥Ñ Raw Audio Device¨ÓŪ¨ú¡A¨Ò¦p¡G # cdplay # dd bs=8k count=5 music.au 5+0 records in 5+0 records out # cat music.au >/dev/dsp ±q¿é¤J³]³Æ¨Ó¿ý­µ¥H¤Î¼·©ñ 5 ¬íªºÁn­µ¡C 4.7 MIDI °ð ©êÁ¾¡A¥Ø«eÁÙ¨S¦³Ãö©ó MIDI °ðªº¸ê°T! 5. AWE ÅX°Êµ{¦¡³nÅé 5.1 sfxload §A¥i¥H¨Ï¥Î sfxload ¤u¨ã¨Ó¸ü¤J­µ®Ä¥d¤Wªº DRAM ¨ú¼Ë¨ì¡C°O±o§A¥u¯à¦b¨C­Ó bank ùظü¤J¤@­Ó¨ú¼Ë¡A ¤º©w¬° bank 0¡C¦]¦¹¡A¦b sfxload synthgs.sbk ¤§«á ¡A¦b§Aªº­µ®Ä¥d¤W°ß¤@ªº¨ú¼Ë´N¬O GS ¨ú¼Ë¡C ¦pªG§A­n¸ü¤J¨ä¥Lªº Sound Font Bank¡A½Ð¨Ï¥Î -b ¿ï¶µ¡A¨Ò¦p¡G # sfxload synthgs.sbk # sfxload -b1 sample.sbk # drvmidi sfx.mid ¤]¥i¥H¦w¸Ë¼Ò²Õ¨Ó¦Û°Ê¸ü¤J¤º©wªº Sound Font Bank¡C¥u»Ý¥[¤W³o¤@¦æ post-install sound /usr/bin/sfxload synthgm.sbk ¨ì§Aªº /etc/conf.modules ÀÉ®×ùØ ¸Ô±¡½Ð¬ÝÃö©ó sfxload ªº¤å¥ó 5.2 drvmidi ¨Ï¥Î drvmidi µ{¦¡¡A§A¥i¥H¨Ï¥Î§Aªº AWE ÅX°Êµ{¦¡¨Óºt«µ MIDI ÀɮסC ¥u­n¦b ©R¥O«á­±¥[¤W§Aªº midi ÀɦW§Y¥i¡G # drvmidi waltz.mid ¸Ô±¡½Ð¬ÝÃö©ó drvmidi ªº¤å¥ó 6. ªþ¿ý 6.1 ªþ¥[¸ê°T Linux Sound HOWTO §@ªÌ: Jeff Tranter, < [28]jeff_tranter@pobox.com> ³Ì·sª©: v1.17, 1997¦~ 8¤ë 4¤é ½Ð¦n¦n¾\Ū¤@¤U Sound HOWTO (¥i±q sunsite.unc.edu ¥H¤Î¨ä¥L¯¸¨ú ±o)¡C ¥¦¦³«Ü¦nªº¸ê°TÃö©ó½sĶ®Ö¤ßµ{¦¡¨Ó¤ä´©­µ®Ä¡A¨Ã¸ÑÄÀ«Ü¦h­µ®Ä³] ³Æ¥H¤ÎÀ³¥Îµ{¦¡µ¥µ¥¡C I understand this HOWTO as an addition to the Sound HOWTO. Linux Sound Playing HOWTO §@ªÌ: Yoo C. Chung, < [29]wacko@laplace.snu.ac.kr> ³Ì·sª©: v1.4, 1997 ¦~ 5¤ë 13¤é §AÀ³¸Ó¤]¾\Ū Sound Playing HOWTO¡C¥¦·|§i¶D§A«Ü¦h¦UºØÁn­µ®æ¦¡¥H¤Î ºt«µ¥L­ÌªºÀ³¥Îµ{¦¡¡C AWE ÅX°Êµ{¦¡ FAQ §@ªÌ: Takashi Iwai < [30]iwai@dragon.mm.t.u-tokyo.ac.jp> ¨Ó·½: [31]http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/awedrv-faq.h tml ¦pªG§A¦b¦w¸Ë AWE ÅX°Êµ{¦¡®É¡B©Î¬O¨Ï¥Î§Aªº Sound Blaster ¥dªº Wave Table ¦X¦¨¾¹¡A¨º´N¬Ý³o¨à¤F¡C ISA PnP FAQ ±`°Ý¶° §@ªÌ: Peter Fox < [32]fox@roestock.demon.co.uk> ¨Ó·½: [33]http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.html ¦pªG§A­n¦w¸Ë ISA PnP ¥d¡A¨º´N­n¬Ý§A¦Û¤v¤F¡C 6.2 ¨Ó·½ isapnptools §@ªÌ: Peter Fox < [34]fox@roestock.demon.co.uk> ³Ìªñª©¥»: 1.11 ¨Ó·½: [35]http://www.roestock.demon.co.uk/isapnptools/index.html ¦pªG§A­n³ø§i­×¸É¡B¯ä¦ä©Î¬Oij¨¥¡A½Ð¦b¥DÃDÄæùØ­±¥[¤W 'isapnp' ¡A¨Ã ¶l±H¨ì isapnp@roestock.demon.co.uk awedrv §@ªÌ: Takashi Iwai < [36]iwai@dragon.mm.t.u-tokyo.ac.jp> ³Ì·sª©¥»: 0.4.2c ¨Ó·½: [37]http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/ Linux kernel §@ªÌ: Linus Torvald and many other ³Ì·sª©¥»: ¦b¦¹¨è¡A§A¥i¥H¥Î 2.0.29 ¨Ó·½: ¨ì³B³£¥i¥H¨ú±o Linux :) OSS/Free §@ªÌ: Hannu Savolainen (Please check [38]http://www.4front-tech.com/usslite before mailing me). ³Ì·sª©¥»: §Ú¦³ 3.5.5-beta1 ª© ¨Ó·½: ©M Linux ®Ö¤ß­ì©lµ{¦¡®M¥ó¤@°_ ¸ê°T: [39]http://www.4front-tech.com/usslite or [40]European mirror. 6.3 ½d¥» isapnp.conf ¥Ñ pnpdump ©Ò«Ø¥ßªº ISA PnP «ØºcÀÉ¡A§Aªº PnP ¥d°ß¤@¥X²{ªº¶µ¥Ø¿é¥X¦p¤U¡A ¦³¤@±i¥d³Q°»´ú¥X (­µ®Ä¥d)¡A¨Ã¦³¥|­ÓÅÞ¿è³]³Æ¡G * LD 0: Audio Device * LD 1: IDE Device * LD 2: WaveTable Device * LD 3: Gameport Device §Ú¸Ñ°£ LD 1 ªº«Øºc¡A¦]¬°§Ú¨S¦³¦b­µ®Ä¥dªº IDE °ð¤W±µµÛ CD ROM¡C¦pªG§Aªº SB ¨S¦³ IDE °ð ¡A¨º»ò LD 1 ´N¬O Gameport ³]³Æ¡A¦Ó LD 3 ´N¤£·|¥X²{¤F¡C ½Ð°Ñ¦Ò [41]Getting started ³o­Ó³¹¸`ùئ³§ó¦hªº¸ê°T («Ü­«­n!)¡C _________________________________________________________________ # $Id: pnpdump.c,v 1.9 1997/06/10 21:37:32 fox Exp $ # This is free software, see the sources for details. # This software has NO WARRANTY, use at your OWN RISK # # For details of this file format, see isapnp.conf(5) # # For latest information on isapnp and pnpdump see: # http://www.roestock.demon.co.uk/isapnptools/ # # Compiler flags: -DREALTIME -DNEEDSETSCHEDULER (READPORT 0x0203) (ISOLATE) (IDENTIFY *) # Try the following if you get error messages like # Error occurred executing request 'LD 2' on or around line... #(VERIFYLD N) # ANSI string -->Creative SB32 PnP<-- (CONFIGURE CTL0048/58128 (LD 0 # ANSI string -->Audio<-- (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 1)) (DMA 1 (CHANNEL 5)) (IO 0 (BASE 0x0220)) (IO 1 (BASE 0x0330)) (IO 2 (BASE 0x0388)) (ACT Y) )) (CONFIGURE CTL0048/58128 (LD 1 # ANSI string -->IDE<-- # (INT 0 (IRQ 10 (MODE +E))) # (IO 0 (BASE 0x0168)) # (IO 1 (BASE 0x036e)) # (ACT Y) )) (CONFIGURE CTL0048/58128 (LD 2 # ANSI string -->WaveTable<-- (IO 0 (BASE 0x0620)) (IO 1 (BASE 0x0A20)) (IO 2 (BASE 0x0E20)) (ACT Y) )) (CONFIGURE CTL0048/58128 (LD 3 # ANSI string -->Game<-- (IO 0 (BASE 0x0200)) (ACT Y) )) # Returns all cards to the "Wait for Key" state (WAITFORKEY) _________________________________________________________________ ĶªÌ«ö: ­Y±zµo²{¥»¤å¥ó¤º®e¦³Â½Ä¶¤£¶¶ºZ©Î¿ù»~ªº¦a¤è¡A½Ð±z¨Ó«H§i¶D§Ú¡A¥H °µ§ó¥¿¡AÁÂÁ¡C [42]linuxer.bbs@cis.nctu.edu.tw¡C Ķµù¡G³o¥÷¤å¥óªº¤¤¤åª© ¥i¦b [43]http://www.linux.org.tw/LCDP/¤U¨ú±o¡C References 1. mailto:Marcus.Brinkmann@ruhr-uni-bochum.de 2. file://localhost/tmp/zh-sgmltools.5001/linuxer.bbs@cis.nctu.edu.tw 3. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#sources 4. http://www.4front-tech.com/usslite 5. mailto:n.bern@mail.protos.it 6. ftp://sunsite.unc.edu/pub/Linux/utils/text/sgml-tools-0.99.0.tar.gz 7. http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/soundblaster.html 8. ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini 9. http://sunsite.unc.edu/LDP/ 10. mailto:zoro@lsol.tm.fr 11. http://www.freenix.fr/linux/HOWTO 12. ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO 13. http://www.linux.org.tw/LCDP/ 14. mailto:Marcus.Brinkmann@ruhr-uni-bochum.de 15. mailto:linux-howto@sunsite.unc.edu 16. http://www.fsf.org/ 17. http://www.debian.org/ 18. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#moreinfo 19. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#sources 20. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#isapnp 21. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#moreinfo 22. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#mixing 23. http://www.4front-tech.com/ 24. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#sources 25. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#sources 26. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#isapnpconf 27. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#isapnp 28. mailto:jeff_tranter@pobox.com 29. mailto:wacko@laplace.snu.ac.kr 30. mailto:iwai@dragon.mm.t.u-tokyo.ac.jp 31. http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/awedrv-faq.html 32. mailto:fox@roestock.demon.co.uk 33. http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.html 34. mailto:fox@roestock.demon.co.uk 35. http://www.roestock.demon.co.uk/isapnptools/index.html 36. mailto:iwai@dragon.mm.t.u-tokyo.ac.jp 37. http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/ 38. http://www.4front-tech.com/usslitebeforemailingme 39. http://www.4front-tech.com/usslite 40. http://personal.eunet.fi/pp/voxware 41. file://localhost/tmp/zh-sgmltools.5001/Soundblaster-AWE.txt.html#isapnp 42. mailto:linuxer.bbs@cis.nctu.edu.tw 43. http://www.linux.org.tw/LCDP/