++ ++ -+- +--+ +--+ +--+
|+++| | | | | | |
| | | | | +--+ +--+
+ + -+- +--+ + + +--+
Sound System by Sahara Surfers
Jedna věc mě na demoscéně vždycky nějak iritovala, a to podpora
zvukových karet. Za časů, kdy jsem žil ještě v blahém domnění, že
Sound Blaster 16 je to nejlepší, co se dá do počítače zastrčit, jsem
se začal pomalu, ale jistě seznamovat s demoscénou a jaké bylo mé
veliké zklamání ? Žádný Sound Blaster, ale GUS only ! Jakožto majitel
SB, jehož originální název bezcitní majitelé božského Gravise
předělávali na velice hanlivé patvary typu Shit Bluster nebo Suck
Buuster, jsem existenci tohoto dilema nesl dosti těžce a mým snem se
stal GUS. Teď už mohu říci, že oni bezcitní gravisaci měli v podstatě
pravdu, i když starý dobrý SB není také k zahození, protože nesmíme
zapomenout na skvělou FM syntézu ! Jsem tedy majitelem jak GUSe, tak
SB16 a můžu říct, že jsem, co se týče hudebního výstupu, plně
spokojen. Ale každý není zas takový fanda do muziky, aby si pořídit
hned dvě relativně drahé zvukovky a proto je stále třeba myslet i na
uživatele jiných karet, než je zrovna božský GUS. Programátoři řeší
tento hardwarový problém mnoha způsoby. Někdo se na Sound Blasterské
klony vykašle a jede rovnou GUS only, což je například u 64kB inter
pochopitelné, ale i tak se mi to zdá poněkud přehnané. Druzí si
spachtí mixák sami, ve většině případů je podpora GUS výborná (karta
udělá skoro všechno za ně), ale co se týče SB, škoda mluvit. Jsou
zde samozřejmě výjimky, ale je jich opravdu málo. Podle mého názoru
existuje lepší řešení: MIDAS. Vytvořit něco jako MIDAS stálo určitě
hodně úsilí a času, ale výsledek stojí zato. To, co by měl teoreticky
zvládat operační systém (viz. NexTStep), si museli democodeři
naprogramovat sami. Dle mého názoru je filozofie MIDASe více než
jasná: stejně jako když čteme data z disku přes funkce DOSu, tak
podobně přehráváme hudbu přes MIDAS. Má to nesporné výhody: můžete se
spolehnout, že pokud vám po hudební stránce funguje jeden program
s podporou MIDASe, budou vám fungovat i všechny ostatní, odpadá tím
starost s úmorným setupováním zvukovky a paměťových ovladačů, vše je
standardizováno. Aby se takovýto systém ujal, musí splňovat všechna
tvrdá kritéria, které programátoři na mixovací a přehrávací hudební
systémy kladou. Jednak by měl být velice dobře naprogramovaný,
alespoň z 90% stabilní a měl by splňovat základní programátorský
komfort jehož součástí je také dobrá návaznost pro případné úpravy
a vylepšení. Tyto všechny vlastnosti MIDAS splňuje a má jich ještě
mnohem více. Podporuje standardní moduly typu MOD, S3M, XM, což, až
na některé vyjímky, bohatě postačuje. Jediný nedostatek, který je mu
třeba vytknout, je specializace na Watcom C++ s DOS4GW/PMODE
extenderem, což je pro nás Pascalisty nemilá záležitost, i když co
můžeme dělat, Borlandi se na nás vykašlali a přešli kompletně na
Wokna a nějaké zdokonalovaní kompilátoru starého Borland Pascalu
směrem k plně 32-bitovému generátoru pro DOS je ani nenapadlo a tak
nám zbývají jen oči pro pláč a MIDAS verze 0.4, který jako jediný byl
ještě dodáván jak v C, tak v PAS podobě, kdy se ještě s XM
nepočítalo. Je jasné, že další verze, které už XM naloadit umí, se
pro Pascal nešíří, jelikož není co, vzhledem k nulové podpoře
reálného 32-bitového protected módu v poslední verzi BP7.01. A tak
zůstáváme u 0.4, která umí aspoň ty S3M a MOD. Je to škoda, Pascal je
perfektní jazyk. Kdyby si přebral pár užitečných vlastností od svého
konkurenta C++, určitě by nebyl k zahození, ale v současné době
k zahození bohužel je. Nebudu se teď ale zabývat kvalitou
jednotlivých kompilátorů nýbrž přestoupím k věci, proč vlastně tento
článek píšu. Chtěl bych pro ty, kteří s MIDASem ještě nedělali nebo
to jen tak zkoušeli a nějak jim to zrovna moc nešlo, ukázat, jak
takový jednoduchý přehrávač modulů pomocí MIDASe naprogramovat. Pokud
by zde byl zájem o osvětlení dalších funkcí MIDASe, jako například
synchronizace timeru s paprskem nebo informace o pozici, která se
právě přehrává, důležitá to věcička pro synchronizaci efektů s hudbou
atp., jsem ochoten pokračovat dalšími články v následujících Výhních.
Stačí jen napsat, co by vás ohledně MIDASe zajímalo a já se to pak
pokusím zesumarizovat a to, co budu vědět, se pokusím vysvětlit.
Program pro přehrávaní modulů pomocí MIDASe
ReDox
výheň