Sound Blaster AWE 32/64 HOWTO

apo ton Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de> v1.2, 11 Ianoyarioy 1998

To keimeno ayto perigrafei thn egkatastash kai ru8mish mias kartas Sound Blaster 32 (SB AWE 32, SB AWE 64) ths Creative Labs se ena susthma Linux, xrhsimopoiwntas to AWE Sound Driver Extension apo ton Takashi Iwai. Epishs, kaluptei merika eidika ergaleia kai programmata ekteleshs hxwn (playres) gia thn seira SB AWE. To susthma anaforas einai ena Debian GNU/Linux, alla 8a prepei na doyleuei kai gia opoiadhpote allh dianomh Linux.

Contents

1 Eisagwgh 2 1.1 Eyxaristies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Istoria Ana8ewrhsewn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Nees ekdoseis aytou toy keimenoy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 Politikh Dianomhs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Prin arxisete 4 2.1 Eisagwgh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Merikes genikes shmeiwseis gia tis kartes SB AWE . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 Merikes genikes shmeiwseis gia tis Plug and Play kartes . . . . . . . . . . . . . . . . . . . . . 4 2.4 Merikes genikes shmeiwseis gia ta loadable kernel modules . . . . . . . . . . . . . . . . . . . . 5 2.5 Merikes genikes shmeiwseis gia ton driver hxoy toy pyrhna . . . . . . . . . . . . . . . . . . . . 5

3 Pws na egkatasthsete thn yposthrijh hxoy gia SB AWE 6 3.1 Pragmata poy 8a xreiasteite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Arxizontas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3 Compile toy pyrhna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4 Epanekkinhsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Elegxos toy Driver Hxoy 9 4.1 /proc/devices, /dev/sndstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2 Ejodos - The Raw Audio Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3 Ejodos - Sun8esh OPL-2/OPL-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.4 Ejodos - Sun8esh me pinaka kymatomorfwn (Wave Table Synthesis) . . . . . . . . . . . . . . 11 4.5 Mijh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.6 Eisodos - Deigmatolhcia me to Raw Audio Device . . . . . . . . . . . . . . . . . . . . . . . . 12 4.7 H 8ura MIDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5 Logismiko toy AWE Driver 12

5.1 sfxload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5.2 drvmidi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 Pararthma 13

6.1 Epipleon Plhrofories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6.2 Phges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6.3 Protypo - Deigma isapnp.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1 Eisagwgh

Ayto einai to Sound Blaster AWE HOWTO. Sas dinei mia leptomerh plhroforhsh gia to pws 8a ekmetalleyteite sto epakro thn Sound Blaster 32 sas h kai kaluteres ayths, symperilambanomenhs kai ths Sun8eshs me Pinaka Kymatomorfwn (Wave Table synthesis). To keimeno ayto kaluptei oles tis kartes SB, arxizontas apo thn SB 32 kai panw. H seira Sound Blaster einai polu gnwsth sthn koinothta twn xrhstwn DOS kai Windows, kai polloi xrhstes Linux 8eloyn na xrhsimopoihsoyn aythn thn karta hxoy kai katw apo Linux epishs. Dystyxws, h Creative Labs parexei odhgo hxoy mono gia ta Windows kai to DOS, kai etsi den einai tetrimmenh h egkatastash kai xrhsh ths kartas SB sto Linux. Ayto to keimeno prospa8ei na perigracei pws mporei kaneis na xrhsimopoihsei tis dynatothtes ths seiras SB AWE katw apo periballon Linux.

1.1 Eyxaristies

To keimeno ayto periexei plhrofories poy phra apo to AWE Driver FAQ kai to ISA PnP FAQ. Deite to tmhma “Sources” gia toys syggrafeis kai tis diey8unseis twn keimenwn aytwn. Xarh stoys syggrafeis aytous, einai dynath h yposthrijh ths SB AWE. Arketh anagkaia doyleia exei ginei apo ton Hannu Savolainen <http://www.4front-tech.com/usslite>, poy aneptyje ton driver hxoy poy erxetai me ton pyrhna toy Linux kernel. Se eyxaristoume!

8elw na eyxaristhsw ton Nicola Bernardelli <mailto:n.bern@mail.protos.it> gia elegxoys poy ekane sta ths AWE64. Xwris ayton, polla la8h 8a emenan anentopista.

Xarh sto paketo SGML Tools SGML Tools <ftp://sunsite.unc.edu/pub/Linux/utils/text/

sgml-tools-0.99.0.tar.gz>, ayto to HOWTO einai dia8esimo se diafora format, poy ola dhmioyrgh8hkan apo to idio phgaio arxeio.

1.2 Istoria Ana8ewrhsewn

Ekdosh 1.0 prwth ekdosh

Ekdosh 1.1 dior8wmenh or8ografia (eyxaristw Curt!), pros8hkh apaithsewn ekdoshs gia isapnp, dia8esimo pleon sto sunsite kai se polla mirrors

Ekdosh 1.2 Dia8esimh h Gallikh ekdosh!, mikrodior8wseis, arketa or8ografika dior8wmena (xarh sto ispell)

1.3 Nees ekdoseis aytou toy keimenoy

Gia sxolia, parathrhseis, dior8wseis, enhmerwseis peri ths Ellhnikhs metafrashs aytou toy HOWTO, steilte email sthn Boula Sanida : voulariba@hellug.gr h ston Eyripidh Papakwsta : evris@hellug.gr kai enal-

laktika : ep@rocketmail.com

H neoterh ekdosh mporei na bre8ei sthn Home Page moy , Sound Blaster AWE HOWTO <http://homepage.

ruhr-uni-bochum.de/Marcus.Brinkmann/soundblaster.html>.

Nees ekdoseis aytou toy keimenoy 8a ginontai upload se diafora anonymous ftp sites poy arxeio8etoun tetoies plhrofories that archive, symperilambanomenoy kai toy <ftp://sunsite.unc.edu/pub/Linux/

docs/HOWTO/mini>.

Ekdoseis se Hypertext aytou kai allwn Linux HOWTOs einai dia8esimes se polla World-Wide-Web sites, kai sto <http://sunsite.unc.edu/LDP/>. Oi perissoteres dianomes se CD-ROM toy Linux symperilambanoyn ta HOWTOs, syxna katw apo to directory /usr/doc.

Xarh ston Arnaud Launay zoro@lsol.tm.fr, mia Gallikh ekdosh aytou toy keimenoy einai pleon dia8esimh! H teleytaia ekdosh mporei na bre8ei mesw http <http://www.freenix.fr/linux/HOWTO> h anonymous ftp

<ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO>.

An kanete mia metafrash aytou toy keimenoy se mia allh glwssa, eidopoihste me kai 8a symperilabw mia anafora se aythn edw.

1.4 Feedback

Basizomai se esas, ton anagnwsth, na kanete xrhsimo ayto to HOWTO. An exete opoiadhpote protash, dior8wsh, h sxolio, parakalw steilte ta se mena, Marcus.Brinkmann@ruhr-uni-bochum.de, kai 8a prospa8hsw na ta enswmatwsw sthn epomenh ana8ewrhsh.

Kalwsorizw idiaitera plhrofories sxetika me thn diadikasia ekkinhshs (boot scripts klp.) allwn gnwstwn dianomwn Linux, p.x. Red Hat h SuSE Linux.

An ekdwsete ayto to keimeno se CD-ROM h se entyph morfh, 8a ektimousa thn apostolh enos antigrafoy. Gracte moy gia ton taxydromiko moy kwdika. Epishs analogis8eite thn periptwsh dwreas pros to Linux Documentation Project gia na sthrijete thn yposthrijh ths dwrean tekmhriwshs. Epikoinwnhste me ton syntonisth toy Linux HOWTO, linux-howto@sunsite.unc.edu, gia perissoteres plhrofories.

1.5 Politikh Dianomhs

Copyright 1997 Marcus Brinkmann. Ayto to HOWTO einai mia dwrean dianomh; mporeite na to epanadianeimete kai/h tropopoihsete sumfwna me thn GNU General Public License opws ayth dhmosieuetai apo to Free Software Foundation, h sumfwna me thn Ekdosh 2 ths adeias, h (kata thn gnwmh sas) sumfwna me opoiadhpote metepeita ekdosh ths adeias. Ayto to keimeno dianemetai me thn elpida pws 8a fanei xrhsimo, alla xwris kamia egguhsh. Xwris oute kan na yponoeitai egguhsh xrhshs h katallhlothtas gia kapoion sygkekrimeno skopo. Deite thn adeia GNU General Public License gia perissoteres leptomereies.

Mporeite na apokthsete antigrafo ths deias GNU General Public License grafontas sto Free Software Foundation Free Software Foundation <http://www.fsf.org>,Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

2 Prin arxisete

2.1 Eisagwgh

Ayto to keimeno prospa8ei na sas boh8hsei na egkatasthsete thn Sound Blaster AWE 32 h thn Sound Blaster AWE 64 ths Creative Labs sto Linux susthma sas. To susthma anaforas einai ena GNU/Linux Debian GNU/Linux <http://www.debian.org> se platforma Intel i586 , alla 8a prepei na doyleuei kai gia ka8ebut allh dianomh Linux ka8ws kai platforma poy yposthrizetai apo ton driver hxoy toy Linux (oi diafores anaferontai opoy kai an yparxoyn).

Bebaiw8eite pws diabasate to Linux Sound HOWTO (des 6.1 (Epipleon Plhrofories)) prosektika. 8ewrw to keimeno moy ws symplhrwmatiko toy Sound HOWTO, kai syxna 8a breite ekei, perissoteres plhrofories gia pragmata poy exw afhsei ektos.

2.2 Merikes genikes shmeiwseis gia tis kartes SB AWE

H karta hxoy SB AWE 32 parexei ena raw audio device, klassiko sun8esh OPL-2/OPL-3 ,mia 8ura MPU-401 MIDI kai 32 fwnes EMU 8000 me Sun8esh Pinaka Kymatomorfwn (gia mia ejhghsh panw se aytous alla kai alloys oroys deite to Linux Sound HOWTO). Enas apo toys skopous aytou toy keimenoy einai na sas boh8hsei wste na kanete ola ayta ta xarakthristika na doyleuoyn swsta.

H SB AWE 64 exei tis dynatothtes ths SB AWE 32 kai epipleon thn sun8esh Wave Guide gia thn opoia h Creative Labs einai perhfanh. To problhma gia toys xrhstes toyLinux einai, pws oi epipleon 32 fwnes dhmioyrgountai apo logismiko kai dinoyn ejodo mesw twn raw wave devices. Epeidh h Creative Labs den blepei emporiko endiaferon gia Linux drivers, o driver hxoy Wave Guide synthesis einai dia8esimos mono gia ta Windows 3.1 kai ta Windows 95.

Ayto shmainei pws, apo thn skopia toy xrhsth Linux, h SB AWE 32 kai h SB AWE 64 einai sxedon isodunames. Apo twra kai sto ejhs, 8a anaferomai mono sthn SB AWE genika kai 8a anaferw mono diafores opoy emfanizontai (an yparxoyn).

2.3 Merikes genikes shmeiwseis gia tis Plug and Play kartes

Oi perissoteres monternes kartes gia thn platforma ths Intel einai ISA PnP kartes, poy einai h suntmhsh gia to“Plug and Play”. Ayto shmainei, pws h karta prepei na ry8mistei apo to leitoyrgiko susthma, kai pws ayto prepei na ginei mesw mias diadikasias arxikopoihshs kata thn ekkinhsh. Genika, yparxoyn toylaxiston treis dynatoi tropoi na ginei ayto:

1. Dia8etete ena PnP Bios, pragma poy shmainei pws to Bios sas einai enhmero gia tis PnP kartes kai mporei na tis ry8misei. An nomizete pws mporeite na xrhsimopoihsete ola ta xarakthristika ths SB AWE PnP sas,, apla kai mono epeidh exete ena PnP Bios, eiste atyxoi. Akoma kai an to Bios isxyrizetai pws yposthrizei kartes PnP arxikopoiei mono ena yposunolo twn 8yrwn kai diey8unsewn poy xrhsimopoiountai apo thn karta hxoy sas. To pio pi8ano einai pws 8a mporeite na paizete dedomena raw wave, alla den 8a mporeite na paizete moysikh MIDI, gia paradeigma. Gia ayto to logo, ena PnP Bios den einai h epilogh sas.

2. Dia8etete leitoyrgiko susthma poy yposthrizei kartes PnP. O trexwn sta8eros pyrhnas Linux kernel (2.0.x) den einai ena tetoio leitoyrgiko opote 8a prepei na perimenoyme mellontikes ekdoseis toy pyrhna, ,poy 8a yposthrizoyn syskeyes PnP.

3. Dia8etete kapoio eidiko programma, poy jekinaei kata thn ekkinhsh, kai arxikopoiei tis kartes PnP. Aytos einai o tropos poy to kanoyme.

To syxnotera xrhsimopoioumeno logismiko arxikopoihshs PnP kartwn se Linux einai ta “isapnptools” (des tmhma 6.2 (Phges) kai tmhma 3.2 (Arxizontas)). Parexoyn enan ka8orismeno tropo ru8mishs olwn twn kartwn ISA PnP sthn mhxanh sas, kai oxi mono ths kartas hxoy.

2.4 Merikes genikes shmeiwseis gia ta loadable kernel modules

Merikoi device drivers mporoun na xtistoun san modules anti na ginoyn compile ston pyrhna. Mporeite na breite perissoteres plhrofories gia modules sto Kernel HOWTO kai to Module HOWTO (des tmhma 6.1 (Epipleon Plhrofories)).

An exete mia PnP karta, prepei na egkatasthsete thn yposthrijh hxoy san ena loadable kernel module. Ayto shmainei pws den mporeite na xtisete ton driver hxoy ston pyrhna, alla 8a prepei na to xtisete ws module poy mporei na fortw8ei apo ton pyrhna kata thn ektelesh. Ayto ginetai epeidh o pyrhnas prepei na fortw8ei prin oi ISA PnP ry8mistoun , kai o driver hxoy prepei na fortw8ei afou ry8mistei h ISA PnP karta.

To module hxoy mporei na fortw8ei xeirokinhta me insmod sound h modprobe -a sound h to katallhlo script ekkinhshs toy Linux (sto Debian, arkei na pros8esete mono mia grammh poy na grafei sound sto /etc/modules). Mia allh proseggish einai na shkwsete to kerneld, ena daimona poy egka8ista kai apegka8ista modules pyrhna.

Shmeiwste pws o kerneld mporei na mhn einai h katallhloterh lush gia to module hxoy ths AWE, epeidh pairnei xrono na fortwsei to module ston pyrhna, eidika an 8elete na xrhsimopoihsete sun8esh Wave Table kai na fortwsete megales trapezes deigmatwn hxwn, pragma to opoio 8a prepei na kanete ka8e fora afou shkwsete to module. Epeidh o kerneld diwxnei ta axrhsimopoihta modules meta apo ena lepto apo default, einai isws kalutero na eisagete to module hxoy xeirokinhta h kata thn ekkinhsh.

Shmeiwste pws eisagontas to module hxoy xeirokinhta h kata thn ekkinhsh apagoreuei ston pyrhna na to apomakrunei otan ayto einai anenergo. Parempiptontws: Mporeite xeirokinhta na eisagete to module hxoy kai na xrhsimopoihsete ton kerneld taytoxrona. Aytes oi duo me8odoi den sygkrouontai, alla apla o kerneld den noiazetai pleon gia to module toy hxoy.

Ayto einai polu xrhsimo an oi ry8miseis toy mixer sas xalane meta thn apomakrynsh kai epaneisagwgh toy module. Mia lush gia ayto to problhma 8a do8ei sto tmhma 4.5 (Mijh) (ekei perigrafetai pws mporeite na arxisete ton mixer sas aytomata otan to module hxoy eisagetai). Parola ayta, pairnei xrono ston kerneld na fortwsei to module, tis trapezes hxwn kai na arxisei ton mixer, kai gi’ayto kai alloys logoys einai kalutero na eisagete to module hxoy kata thn ekkinhsh kai na mhn afhnete ton kerneld na to apomakrunei.

2.5 Merikes genikes shmeiwseis gia ton driver hxoy toy pyrhna

Mporeite na egkatasthsete yposthrijh hxoy enswmatwmenh ston pyrhna h san loadable module. An exete mia karta PnP card,8a prepei na egkatasthsete thn yposthrijh san module, epeidh h karta PnP xreiazetai na arxikopoih8ei me ta isapnptools prin to module egkatasta8ei..

Opws mporeite na fantasteite, 8a prepei na kanete jana compile ton pyrhna. 8a sas dwsw merikes symboyles gi’ ayto parakatw. Pros to paron, as milhsoyme gia thn yposthrijh hxoy ston kwdika toy pyrhna. O pyrhnas erxetai me thn Dwrean Lite Ekdosh toy OSS (USS) driver hxoy. H trexoysa ekdosh aytou toy driver (3.5.4) den yposthrizei plhrws thn SB AWE, alla to SB 16 kommati ths. Etsi, mporeite na exete raw audio device kai sun8esh OPL-2/OPL-3 an thn xrhsimopoieite, alla den 8a eisaste se 8esh na paizete MIDI me sun8esh Wave Table.

An 8elete na xrhsimopoihsete to Wave Table device, mporeite h na agorasete ton emporiko driver hxoy apo thn 4Front Technologies <http://www.4front-tech.com> (kapoios as moy epibebaiwsei pws ontws doyleuei, parakalw), h na kanete patch ton pyrhna sas me to AWE 32 Sound Driver Extension toy Takashi Iwai. To prwto einai ejw apo toys skopous toy keimenoy kai ypo8etw pws 8a 8elhsete na xrhsimopoihsete to deutero.

To AWE32 Sound Driver Extension (des enothta ‘6.2 (Phges)) bgainei katw apo adeia xrhshs GNU kai erxetai me ena plh8os ergaleiwn gia na kanei xrhsh ths sun8eshs EMU 8000 twn kartwn SB AWE.

To logismiko awedrv hdh symperilambanetai sta dentra kwdika twn neoterwn pyrhnwn (arxizontas apo kapoioys pyrhnes 2.1.x) alla isws 8a 8elete na anaba8misete ton kwdika toy paliou sas pyrhna poy mporei na einai palio.

3 Pws na egkatasthsete thn yposthrijh hxoy gia SB AWE

3.1 Pragmata poy 8a xreiasteite

Aytes einai oi apaithseis gia yposthrijh SB AWE katw apo Linux:

• ena susthma Linux en leitoyrgia (p.x. thn dianomh Debian GNU/Linux ),

• mia SB AWE 32 h symbath karta (p.x.. SB32, SB32 PnP, SB AWE64, ...),

• ton phgaio kwdika toy pyrhna toy Linux, kai twn odhgwn hxoy OSS/Free (logika symperilambanetai, koitajte sto /usr/src/Linux/drivers/sound/Readme),

• Ta AWE 32 sound driver extensions.

An exete mia karta PnP, 8a xreiasteite epishs:

• to paketo logismikou isapnptools.

Deite sto tmhma 6.2 (Phges) gia plhrofories sxetika me to apo poy mporeite na to apokthsete.

An exete ena susthma Debian GNU/Linux , shmainei pws 8a xreiasteite kai ta paketa kernel-source-<version>, awe-drv kai isws to paketo isapnptools. 8a 8elhsete kai merika apo ta alla awe-* paketa parolo poy den einai anagkaia. Systhnw to kernel-package gia eukolo compile kai egkatastash toy pyrhna.

3.2 Arxizontas

As ypo8esoyme pws exete katasthsei kanonika thn karta sthn ypodoxh ths sthn mhtrikh kai pws pi8ana hdh thn dokimasate se periballon DOS h Windows.

To epomeno bhma einai na arxikopoihsete thn karta kata thn ekkinhsh an kai mono an einai mia karta PnP. Akoloy8hste thn tekmhriwsh sto paketo toy source gia na kanete compile kai na egkatasthsete ta isapnptools (h apla xrhsimopoihste to Debian binary paketo), kai kante:

     # pnpdump > /etc/isapnp.conf

san root. Ayto 8a dhmioyrghsei ena kat’ elpida kalo arxeio ry8misewn gia tis PnP kartes sas, alla me ola ta devices se sxolia. Parakalw dior8wste to arxeio ayto prosektika, kai sygkrinete tis times gia ta kanalia DMA, IO kai interrupts me tis ry8miseis tis kartas sas katw apo periballon DOS h Windows an ayto einai dynaton (me ta Win95, koitajte ta resources poy xrhsimopoiountai apo thn karta, katw apo to resources ston device manager). An exete problhmata diabaste prosektika thn tekmhriwsh poy erxetai mazi me ta isapnptools.

PROSOXH: ta isapnptools syxna apotygxanoyn na entopisoyn kai tis treis 8ures I/O ths syskeyhs SB AWE Wave Table . Sygkrinete prosektika thn eggrafh sxetika me WaveTable sto isapnp.conf sas me to paradeigma sto telos aytou toy HOWTO. An einai anagkaio tropopoihste tis I/O base diey8unseis.

PROSOXH: Sumfwna me to isapnp-faq, merikes fores ta isapnp apotygxanoyn na programmatisoyn ton ari8mo ths logikhs syskeyhs (logical device). An antimetwpisete mhnumata la8oys opws to akoloy8o:

     Error occurred executing request 'LD 2' on or around line...

tote prospa8hste na pros8esete (VERIFYLD N) sthn arxh toy isapnp.conf. 8a prepei na xrhsimopoihsete toylaxiston thn ekdosh1.10 gia na doylecei ayto. An den mporeite na xrhsimopoihsete ekdosh 1.10 h newterh, mporeite epishs na kanete POKE toys ari8mous toy logical device apey8eias. Anafer8eite sto isapnp-faq gia perissoteres plhrofories sxetika me ayth thn proseggish. An den sas doylecei, epikoinwnhste mazi moy (8ewrw pws kai oi an8rwpoi twn isapnp 8a endiaferontai epishs).

PROSOXH: Bebaiw8eite pws h teleytaia grammh einai (WAITFORKEY), h opoia mporei na paraleipetai se merikes palioteres ekdoseis toy pnpdump.

Ena deigma isapnp.conf gia mono mia karta PnP (thn karta hxoy) brisketai sto telos aytou toy keimenoy (des tmhma 6.3 (Protypo - Deigma <tt>isapnp.conf</tt>)).

An exete ena susthma Debian, den xreiazontai epipleon ry8miseis. Ta isapnp 8a arxisoyn kata thn ekkinhsh sto /etc/init.d/boot me ayto to kommataki kwdika, poy mallon 8a 8elate na symperilabete sta scripts ekkinhshs sas:

# 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
opoy to /etc/init.d/isapnp einai
#! /bin/sh
# /etc/init.d/isapnp: configure Plug and Play boards
test -x /sbin/isapnp || exit 0
/sbin/isapnp /etc/isapnp.conf
exit 0

An exete kapoia allh dianomh Linux, eisaste monoi sas. Den jerw ti na kanw (kaneis pro8ymos na ypoballei pio sygkekrimenes plhrofories?). Mono bebaiw8eite pws ta isapnp arxizoyn prin ta modules fortw8oun(des parakatw).

3.3 Compile toy pyrhna

Prin arxisete na kanete jana compile ton pyrhna 8a prepei na efarmosete to AWE Driver Extension patch ston driver hxoy. Akoma kai an to dentro kwdika toy pyrhna sas periexei to awedrv extension (gia na to deite ayto tsekarete to /drivers/sound/lowlevel/ ), mporei na 8elhsete na anaba8misete to logismiko toy awedrv . Akoloy8hste tis odhgies egkatastashs directory toy kwdika toy awedrv. En syntomia, 8a prepei na trejete ena script egkatastashs poy efarmozei ta patches ston kwdika toy pyrhna.

Na eisaste prosektikos gia to an pragmati exete anaba8misei ton pyrhna afou trejate to script egkatastashs. To script elegxei apla an kapoio arxeio yparxei kai an nai, den efarmozei to apaitoumeno patch. Sas symboyleuw na apomakrunete to arxeio drivers/sound/lowlevel/awe wav.c prin trejete to script afou anaba8misete ton kwdika toy pyrhna.

Meta 8a prepei na ry8misete ton pyrhna gia yposthrijh hxoy. Elpizw na gnwrizete ta basika gia to compile toy pyrhna, deite to Sound HOWTO kai to Kernel HOWTO gia leptomereies. Proxwrhste sto directory toy kwdika toy pyrhna sas (/usr/src/linux gia paradeigma), kai kante:

     # make config

h make menuconfig h make xconfig. Meta exete na ry8misete ton pyrhna sas me ton gnwsto tropo. Ekmetalleyteite aythn thn eykairia gia na kanete ena mikro kai isxyro pyrhna, eidika sxediasmeno gia to susthma sas. Bebaiw8eite pws apanthsate sto Enable loadable module support me Y, an 8elete na egkatasthsete ton driver hxoy san loadable module (anagkastiko an exete karta PnP), alla eimai sigoyros pws etsi kai alliws 8a 8elhsete na to kanete ayto.

Se kapoio shmeio, 8a erwth8eite gia to an 8elete yposthrijh kartwn hxoy. Apanthste me Y h me M an den exete karta PnP. Prepei na apanthsete me M, gia module, an exete karta PnP. 8a prepei na kanete compile thn yposthrijh hxoy san module an exete karta PnP giati h karta PnP prepei na arxikopoih8ei prin to module fortw8ei.

Oi akoloy8es erwthseis 8a prepei na apanth8oun me Y , oles oi alles me N :

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/?]

Mono h teleytaia einai pragmatika gia thn sun8esh Wave Table. Oi ypoloipes einai epiloges gia SB 16 apo ton driver hxoy toy OSS/Free.

Epipleon, prepei na ry8misete 8ura I/O ths kartas. Koitajte sto arxeio isapnp.conf gia symboyles, an bebaia exete. Gia mena , oi parakatw default times, arkoun.

Shmeiwste pws oi proka8orismenes times toy ru8mishs toy pyrhna mporei na einai la8os (eidika gia oi times SBC IRQ kai SB MPU BASE fainetai na einai la8os gia tis perissoteres kartes

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]

Twra kante jana compile ton pyrhna. Oi xrhstes Debian 8a prepei na xrhsimopoihsoyn to paketo kernel-package. Ayto to paketo kanei to compile oso eukolo oso kai thn egkatastash enos paketoy gia debian. Koitajte sthn tekmhriwsh sto /usr/doc/kernel-package/. Akoloy8ei mia symboylh:

     # make-kpkg clean
     # make-kpkg -revision custom.1.0 kernel_image

kai meta dpkg -i /usr/src/kernel-image-2.0.29 custom.1.0 i386.deb.

An exete kapoia allh dianomh Linux, akoloy8eiste ton klassiko tropo gia to compile enos neoy pyrhna. Mhn jexasete na kanete make modules kai make modules install. Koitajte sto Sound HOWTO isws kai sto Kernel HOWTO gia perissoteres plhrofories.

3.4 Epanekkinhsh

Afou egkatasthsete ton neo pyrhna, 8a prepei na kanete epanekkinhsh (bebaiw8eite pws exete proxeirh mia disketa epanekkinhshs poy doyleuei). Kai proseyxh8eite.

An exete mia karta PnP bebaiw8eite pws jekinate ta isapnp eite sta script ekkinhshs (opws perigrafthke parapanw), eite xeirokinhta:

     # /sbin/isapnp /etc/isapnp.conf
     Board 1 has Identity 74 00 00 e3 10 48 00 8c 0e:  CTL0048 Serial No 58128
     [checksum 74]

Twra mporeite na egkatasthsete ton driver hxoy, an ton exete kanei compiled san module:

     # modprobe -a sound
     AWE32 Sound Driver v0.3.3e (DRAM 2048k)

An nomizete pws o entopismos ths mnhmhs den htan swstos (exw mia anafora kapoioy poy eixe mia AWE64 me 4096k, kai “entopismena” htan 28672k), dokimaste eite na anaba8misete to logismiko awedrv h na

ka8orisete to poso ths mnhmhs sto arxeio /usr/src/linux/drivers/sound/lowlevel/awe config.h, gia

paradeigma:

     #define AWE_DEFAULT_MEM_SIZE  4096   /* kbytes */

Lypamai, alla prepei na kanete jana compile ton pyrhna (isws mono ta modules arkei, alla den eimai sigoyros).

An doylecei, isws na 8elete na fortwnete to module hxoy aytomata. Mporeite na xrhsimopoihsete ton kerneld (to giati ayto einai asxhmh idea ejhgh8hke sto tmhma1.4) h na eisagete mia mono grammh sto poy periexei th lejh sound sto /etc/modules sas (se Debian) h pros8este /sbin/modprobe -a sound sto script ekkinhshs sas.

4 Elegxos toy Driver Hxoy

4.1 /proc/devices, /dev/sndstat

An exete enswmatwmenh yposthrijh hxoy, 8a deite kapoies xrhsimes plhrofories kata thn ekkinhsh. An exete thn yposthrijh hxoy ws loadable module, 8a parete tis idies plhrofories (isws afou apomakrunete to module hxoy me thn modprobe -r sound prwta) me

     # modprobe -a sound trace_init=1
     Sound initialization started
     <Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5
     <Sound Blaster 16> at 0x330 irq 5 dma 0
     <Yamaha OPL3 FM> at 0x388
     Sound initialization complete
     AWE32 Sound Driver v0.3.3e (DRAM 2048k)

4. Elegxos toy Driver Hxoy 10

An exete ena eikoniko susthma arxeiwn /proc, mporeite na koitajete to arxeio me

# cat /proc/devices
Character devices:
[...]
14 sound
[...]

Meta sigoyreyteite pws exete ta swsta devices egkatesthmena sto /dev/. Koitajte sto Sound HOWTO gia leptomereies. Meta deite to /dev/sndstat gia thn katastash toy module toy hxoy:

# 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

An den deite kati san kai ayto, isws yparxei la8os me tis ry8miseis sas. Proxwrhste kai deite ti de doyleuei, meta epistrecte sto bhma 3.2 (Arxizontas), elegxontas ta panta.

4.2 Ejodos - The Raw Audio Device

Prospa8hste na breite ena arxeio .au (Sun workstation) h ena arxeio raw file, kai kante

# cat bell.au > /dev/audio

antistoixa.

     # cat sample > /dev/dsp

8a prepei na akousete ta periexomena toy arxeioy mesw toy Audio Device 0: Sound Blaster 16 (4.3).

4.3 Ejodos - Sun8esh OPL-2/OPL-3

An 8elete na xrhsimopoihsete thn sun8esh OPL-2/OPL-3 FM gia na paijete arxeia MIDI apo thn karta hxoy sas, dokimaste to programma playmidi (des Appendix B). Arxiste to me

     # playmidi -f dance.mid

h

     # playmidi -4 dance.mid

To prwto 8a sas dwsei OPL-2, to teleytaio OPL-3 moysikh MIDI . An o hxos einai xalia, mhn kathgoreite to playmidi: Einai h sun8esh FM poy akougetai asxhma.

Fantasteite pws 8a eixate mono ton Driver Hxoy ths OSS/Free Sound Driver: Loipon ayth einai h poiothta moysikhs MIDI poy 8a epituxete (ektos ths sun8eshs mesw logismikou). Eytyxws, exete mia SB AWE, kai mporeite na xrhsimopoieite tis dynatothtes gia Wave Table me to AWE Sound Driver Extension.

4.4 Ejodos - Sun8esh me pinaka kymatomorfwn (Wave Table Synthesis)

To AWE Driver Extension erxetai me kapoia eidika ergaleia (awesfx) gia na kanete xrhsh ths sun8eshs toy EMU 8000 Wave Table. Prwta, prepei na fortwsete mia Trapeza Deigmatwn Hxwn sthn karta sas - akoma kai an skopeuete na akousete ta deigmata poy yparxoyn sthn ROM ! Mporeite na parete ta arxeia apo ta Windows - koitajte gia arxeia me katalhjeis *.sfb h *.sf2.

Ta deigmata ths ROM mporoun na fortw8oun me SYNTHGM.SBK, alh8ina deigmata einai sto SYNTHGS.SBK kai sto SYNTHMT.SBK, ka8ws epishs kai sto SAMPLE.SBK. Mporeite na parete ki alles Trapezes Deigmatwn Hxwn mesw ftp h www. Dokimaste thn EMU Homepage, to web site ths Creative Labs, kai koitajte kai ta deigmata toy Chaos, einai alh8ina polu kala (na tsekarete sigoyra kai to site ths AWE Driver).

Prospa8hste na fortwsete to stantart GM (ROM) me

     # sfxload -i synthgm.sbk

kai meta paijte ena arxeio midi poy erxetai mazi me thn SB AWE sas:

     # drvmidi dance.mid

4.5 Mijh

Parte to agaphmeno sas programma mijhs kai arxiste to. 3ekinhste ena deigma raw audio kai duo arxeia MIDI taytoxrona, kai dokimaste tis ry8miseis toy mixer.

Paijte gia ligo, 8a prepei na einai polu eukolo. Na h lista me ta devices kai pws legontai:

Yamaha OPL-3 Synth or FM AWE32 Driver

Synth or FM (does anyone know a mixer were the last two are separated from each other?)

Sound Blaster 16 (4.13)

PCM or DSP

PC Speaker (still alive)

Spkr

Alles ry8miseis toy mikth anaferontai sto CD ROM, poy einai pi8ana syndedemeno me th karta hxoy, thn Kuria Entash Hxoy, Mpasa, Prima, kai eyais8hsia hxografhshs twn diaforwn grammwn eisodoy. Mporeite na prosdiorisete poies eisodoi 8a hxografountai.

4.6 Eisodos - Deigmatolhcia me to Raw Audio Device

Mporeite na hxografhsete apo diaforetikes phges: ena syndedemeno CD ROM, ena mikrofwno sto mic, kai otidhpote mporei na synde8ei sto line in. Balte ton mikth sthn katallhlh 8esh. Paijte enan hxo kai hxografhste se kapoio arxeio, diabazontas apo to Raw Audio Device, gia paradeigma:

     # cdplay
     # dd bs=8k count=5 </dev/dsp >music.au
     5+0 records in
     5+0 records out
     # cat music.au >/dev/dsp

hxografei kai paizei pente deyterolepta hxoy apo th syskeyh eisodoy.

4.7 H 8ura MIDI

Lypamai, den yparxoyn plhrofories gia th 8ura MIDI akoma!

5 Logismiko toy AWE Driver

5.1 sfxload

Mporeite na fortwsete deigmata sthn DRAM ths kartas hxoy sas me to ergaleio sfxload. Shmeiwste pws mporeite na fortwsete mono ena arxeio-deigma ana trapeza (bank), me thn bank 0 ws default. Etsi, meta to sfxload synthgs.sbk, ta mona deigmata sthn karta sas einai ta GS. An 8elete na fortwsete epipleon Trapezes Deigmatwn Hxoy (Sound Font Banks), 8a prepei na xrhsimopoihsete thn epilogh -b, gia paradeigma:

     # sfxload synthgs.sbk
     # sfxload -b1 sample.sbk
     # drvmidi sfx.mid

Mporeite na fortwsete mia default Sound Font Bank aytomata egka8istwntas to module. Apla pros8este mia grammh opws h:

     post-install sound /usr/bin/sfxload synthgm.sbk

sto arxeio sas /etc/conf.modules.

Gia perissoteres plhrofories deite thn tekmhriwsh gia to sfxload.

5.2 drvmidi

Me to programma drvmidi, mporeite na xrhsimopoieite ton AWE Driver sas gia na paizete arxeia MIDI. Apla ka8oriste to onoma toy midi arxeioy sas meta thn entolh:

# drvmidi waltz.mid

Gia perissoteres plhrofories deite thn tekmhriwsh gia to drvmidi.

6 Pararthma

6.1 Epipleon Plhrofories

To Linux Sound HOWTO Syggrafeas: Jeff Tranter, <jeff\_tranter@pobox.com> Teleytaia ekdosh: v1.17, 4 Aygoustoy 1997 Parakalw koitajte prosektika to Sound HOWTO (dia8esimo sto sunsite.unc.edu kai alla sites). Periexei polla stoixeia gia to compile toy pyrhna me yposthrijh hxoy, kai ejhgei polla gia tasound devices, tis efarmoges klp. 8ewrw ayto to HOWTO ws symplhrwmatiko toy Sound HOWTO.

To Linux Sound Playing HOWTO Syggrafeas: Yoo C. Chung, <wacko@laplace.snu.ac.kr> Teleytaia ekdosh: v1.4, 13 Maioy 1997 8a prepei epishs na koitajete to Sound Playing HOWTO. Sas leei gia diafora formats hxoy kai efarmoges poy ta ekteloun.

To AWE Driver FAQ

Syggrafeas: Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp> Phgh: <http://bahamut.mm.t.
u-tokyo.ac.jp/~iwai/awedrv/awedrv-faq.html> An exete problhmata sthn egkatastash toy AWE

Driver h xrhsimopoieite sun8esh Wave Table sthn Sound Blaster sas, tote koitajte to.

To ISA PnP FAQ

Syggrafeas: Peter Fox <fox@roestock.demon.co.uk> Phgh: <http://www.roestock.demon.co.

uk/isapnptools/isapnpfaq.html> An exete problhmata sthn ru8mish twn ISA PnP kartwn sas, tote ayto einai h biblos sas.

6.2 Phges

isapnptools
Syggrafeas: Peter Fox <fox@roestock.demon.co.uk>

Teleytaia ekdosh: 1.11

Phgh: <http://www.roestock.demon.co.uk/isapnptools/index.html>

An steilete patches, anafores bugs h sxolia, gracte kapoy mesa sto 8ema ’isapnp’ kai steilte to sto isapnp@roestock.demon.co.uk.

awedrv
     Syggrafeas: <iwai@dragon.mm.t.u-tokyo.ac.jp>

Teleytaia ekdosh: 0.4.2c

     Phgh: <http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/>

Linux kernel Syggrafeas: Linus Torvald kai polloi alloi Teleytaia ekdosh: Pros to paron, 8a prepei na xrhsimopoieite thn 2.0.29 Phgh: pantou, apo opoy mporeis na breis Linux :)

OSS/Free Syggrafeas: Hannu Savolainen (Parakalw koitajte to <http://www.4front-tech.com/

     ussliteprinsteiletee-mail>).

Teleytaia ekdosh: Exw thn 3.5.5-beta1

Phgh: me to paketo toy kwdika toy pyrhna toy Linux

     Plhrofories: <http://www.4front-tech.com/usslite> h to Eyrwpaiko mirror <http://personal.
     eunet.fi/pp/voxware>.

6.3 Protypo - Deigma isapnp.conf

Sto arxeio ry8misewn gia ISA PnP poy dhmiourghse to pnpdump, ta devices twn kartwn PnP sas emfanizontai ws tmhmata. Sto parakatw, mia karta entopisthke (h karta hxoy), me tessera logika devices:

• LD 0: Audio Device

• LD 1: IDE Device

• LD 2: WaveTable Device

• LD 3: Gameport Device

Afhsa to LD 1 arru8misto, epeidh den exw CD ROM enwmeno me thn 8ura IDE ths kartas hxoy moy. An den exete 8ura IDE sthn SB sas, tote h LD 1 8a einai to Gameport Device kai to LD 3 den 8a emfanizetai.

Parakalw, anafer8eite sto tmhma 3.2 (Arxizontas) gia peraiterw (shmantikes!) plhrofories sxetika me ayto to arxeio.

# $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

6. Pararthma 16

(WAITFORKEY)