home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
04
/
ami026.txt
< prev
next >
Wrap
Text File
|
1997-04-06
|
9KB
|
191 lines
THE PLAYER 6.0A.
<lead>Odgrywanie moduîów w demach to problem stary jak ôwiat...
Kaûdy koder ma na to swojâ teorië, jedni uûywajâ standardowych
playerów, inni playerów-packerów, jeszcze inni piszâ wîasne
"odgrywajki". Niedawno bardzo popularne byîy takie programy, jak
ProPacker czy ProRunner. Teraz nastaîa era playera. (Mam chyba
jakieô zadatki na poetë :-).
<a>Miklesz/Damage
<txt> Kiedy pierwszy raz zetknâîem sië z Playerem 6.0A, zrozumiaîem,
ûe jest to najlepszy format pakowania wôród aktualnie wymyôlonych.
Nie doôê, ûe odtwarzanie zajmuje uîamek czasu ekranowego, to system
pakowania gwarantuje nam, ûe z oryginaîu pozostanie nam zawsze mniej
niû poîowa.
Co naleûy jeszcze do atutów Playera? Przede wszystkim rozbudowany
program konwertujâcy, z peînâ obsîugâ bibliotek autorstwa Nico
Francois: reqtools.library i powerpacker.library. Mimo duûej liczby
opcji, sam program jest bardzo prosty w obsîudze.
Caîy Player 6.0A jest autorstwa Jarno Paananena, czyli Guru of Sahara
Surfers. Program jest rozpowszechniany jako public domain. Autor
prosi jednak, aby we wîasnych produkcjach zaznaczaê, kto jest autorem
grajka. Wôród plików rozpowszechnianych w pakiecie znajdziemy
odgrywajkë, dwa konwertery, dokumentacjë, include'y i gotowe
úródîówki do wykorzystania. Jak to zazwyczaj w wypadku PD stuffu
bywa, autor nie bierze odpowiedzialnoôci za to, co nam Player
6.0A ewentualnie zrobi. Twórca prosi takûe o kontakt z nim w
wypadku chëci wykorzystania grajka w programie komercyjnym lub w
wypadku znalezienia jakichô bîëdów. Okazuje sië, ûe poprzednie,
bîëdne, wersje Playera, wykorzystywane byîy bez zgody autora przez
Team 17 (np.: w grze Super Frog). Twórca prosi wiëc o kontakt w
wypadku wykrycia podobnych incydentów.
Player 6.0A ma naprawdë niewielkie wymagania. Wystarczy dowolna
Amiga, w katalogu LIBS: znajduje sië reqtools.library i
powerpacker.library, posiadajâca troszkë pamiëci (ale 512 KB teû
wystarczy). Autor zapewnia, ûe program ruszy juû na Kickstarcie
1.2, choê îadnie wyglâda dopiero na 2.0.
Natomiast co dostajemy w zamian? Podajë za dokumentacjâ:
-- Bardzo efektywny packer patternów, który odgrywa spakowane
dane w czasie rzeczywistym.
-- Skrócony nagîówek moduîu, który nie tylko zajmuje mniej
miejsca, ale jeszcze utrudnia czasami wyprucie moduîu.
-- Packer usuwa wszystkie nazwy sampli, niepotrzebne patterny,
sample, dane, które i tak nie zostaîyby odegrane, dane o zerowej
gîoônoôci w nie zapëtlonych samplach, nie uûyte komendy i parë
innych rzeczy.
-- Program oferuje nam sposób pakowania metodâ Delta, która nie
powoduje utraty jakoôci, a pakuje lepiej niû na przykîad Imploder
lub PowerPacker. Metoda Delta byîa juû opisywana na îamach
Magazynu AMIGA.
-- Konwersja sampli z 8-bitowych na 4-bitowe, co powoduje
niewielkâ utratë jakoôci, lecz pozwala na stopieï kompresji 1:2.
Gorâco polecam uûywanie tej funkcji, tylko radzë nie przyznawaê
sië muzykom. Glue/Damage i MGL/Damage chyba do dzisiaj nie
wiedzâ, ûe wszystkie oddane mi przez nich moduîy, które nastëpnie
gdzieô wykorzystywaîem, byîy pakowane na 4 bity :-).
-- Trzeba nieúle sië napociê, aby wyciâê moduî, który ma
spakowane i osobno zgrane sample. Standardowy Exotic Ripper 2.25
(unregistered) nie jest w stanie nam tego wykonaê!
-- Sam Player dziaîa na wiëkszoôci konfiguracji sprzëtowych.
Zarówno spod WB, jak teû i CLI.
-- Konwerter îaduje pliki spakowane PowerPackerem, Imploderem i
packerami z bibliotek XPK.
-- Odgrywa moduîy, które majâ nawet 100 patternów (czyli
pochodzâce z Protrackera 2.0 i póúniejszych).
-- Poprawnie odgrywa wszystkie komendy NoiseTrackera,
Protrackera oraz reaguje na zmianë FineTune i Tempo. Jedynym
mankamentem jest to, ûe wszystkie komendy Dxx traktuje jak D00,
ale jest to drobny problem, który moûna ominâê piszâc moduî.
Nie bëdë tutaj opisywaî dziaîania poszczególnych opcji Playera
6.0A, gdyû od tego jest instrukcja w formacie AmigaGuide.
Próbujâc jednak zachëciê Was do uûywania tego systemu, opiszë,
jak przebiega caîy proces pakowania:
1. Odpalamy konwerter i sprawdzamy na wszelki wypadek ustawienie
opcji w "Preferences", takich rzeczy jak DEFAULT LOADING
DIRECTORY, DEFAULT SAVING DIRECTORY, DEFAULT BATCH DIRECTORY
nie muszë chyba tîumaczyê. Równieû opcja PREFICES --------chyba
prefixes----------- nie wymaga chyba komentarza. Ciekawe jest
natomiast TWO FILES, które zgrywa osobno song, a osobno sample,
co znakomicie utrudnia wyciâgniëcie moduîu. Polecam uûywanie.
Odradzam natomiast P60A SIGN, dodaje tylko 4 bajty do pliku i
uîatwia rippowanie. NO SAMPLES przyda sië moûe komuô, kto chce
stworzyê sounddisk typu "Revolution", czyli kilka sampli i masa
korzystajâcych z nich melodyjek. Opcja po prostu nie zgrywa
sampli. TEMPO wîâcza wykrywanie zmian tempa w module. Jak Twój
muzyk uûywa tempa, to opcjë wîâcz. Opcja ICON powoduje
dogrywanie ikon do plików, potrzebne to komuô? Moûe... DELTA
oczywiôcie zaîâcza metodë Delta, przy pakowaniu sampli, a SAMPLE
PACKING dodaje jeszcze konwersjë na 4 bity. Wîâczyê bez
zastanawiania sië.
2. Teraz uruchamiamy konwersjë i wybieramy odpowiedni plik. Po
chwili jesteômy zasypani informacjami w stylu: "Jak to Player
6.0A zaoszczëdziî nam 3 bajty, bo wyrzuciî z pliku moduîu jednâ
nutë" ;-).
3. Koniec koïców otwiera nam sië okienko, gdzie wybraê moûemy
sample, które chcemy spakowaê jako 4-bitowe. Program daje nam
moûliwoôê odsîuchu sampla oryginalnego i spakowanego, co jest
czasem bardzo przydatne. Na ogóî jednak dajemy PACK REST i po
dawce kolejnych wykresów i cyferek pozostaje nam tylko zapisaê...
4. Use-Code, czyli kod, którego odpowiednie bity odpowiadajâ za
asemblacjë fragmentów kodu playera. O co tu chodzi? Wyobraúmy
sobie sytuacjë, ûe nasz moduî do demka nie zawiera komend typu
1xx (dla nie wtajemniczonych: glissando "w górë"). W takim
wypadku player odgrywajâc moduî niepotrzebnie "zaprzâta sobie
gîowë" (czytaj: wykonuje zbëdne instrukcje), próbujâc wykonaê
glissando o wartoôci zero wzwyû. I tu z pomocâ przychodzi
Use-Code, który wyeliminuje przy asemblacji linie odpowiadajâce
za efekt 1xx. Proste? Chyba tak, zwaûywszy na to, ûe jeûeli nie
zaleûy nam na tych kilku instrukcjach straty, a jesteômy leniwi,
to moûemy wpisaê wartoôê Use-Code=-1=$FFFFFFFF, co jak wiadomo
spowoduje zapalenie wszystkich bitów i asemblacjë peînego kodu
playera. Tutaj pozostaîa drobna uwaga. Jeûeli zamierzamy odegraê
tym samym kodem "odgrywajki" kilka utworów, to ich wspólny Use-Code
bëdzie oczywiôcie sumâ logicznâ Use-Code'ów kaûdego z moduîów!
5. Teraz pozostaje nam jedynie wgraê pliki(i) binarne do asemblera,
zasemblowaê kod úródîowy i sîuchaê muzyki.
Gorâco polecam ten format zapisu moduîów. O jego zaletach sporo
juû napisaîem. Teraz parë sîów o wadach. Moûliwe, ûe szukam
dziury w caîym, ale taki juû jestem...
-- Player 6.0A nie odgrywa parametru komendy Dxx, traktujâc jâ
zawsze jako D00. Nie jest to jednak funkcja mogâca uszczupliê
efekt ostateczny moduîu, o ile wczeôniej poinformujemy muzyka,
ûeby Dxx z xx<>0 nie uûywaî. Swojâ drogâ, to maîo kto stosuje të
funkcjë. Ôciôlej: pakowaîem moduîy niejednego muzyka z zamiarem
wykorzystania ich w asemblerze i na razie spotkaîem sië tylko z
jednym osobnikiem stosujâcym to "trefne" Dxx (Hi MaXyM!).
-- Nasz playerek, nie "îapie" funkcji 8xx, która jest stosowana
do synchronizacji dem z muzykâ, i nie powoduje ûadnej zmiany
odgrywanego dúwiëku. Zamiast tego mamy do wyboru:
synchronizowanie "na czas" (dla masochistów), synchronizowanie za
pomocâ E8x, czyli funkcji podobnej do 8xx, rozpoznawanej jednak
przez player (dla leniwych), oraz poszukanie w kodzie informacji
o aktualnym poîoûeniu w patternie i module, co daje bardzo
wygodnâ moûliwoôê synchronizacji (dla dociekliwych). Wybraîem to
ostatnie...
I juû tak zupeînie na zakoïczenie... Przypomniaîo mi sië pytanie,
jakie otrzymaîem niedawno w jednym z listów:
"Czy moduî muzyczny w demie odtwarzany jest za pomocâ jakiegoô
playera, doîâczanego np.: do Protrackera, czy teû koder pisze sam
procedurë do odtwarzania takiego moduîu?"
Odpowiedú na to pytanie jest oczywista, jednak nie za bardzo
jestem w stanie pojâê, co popycha ludzi do pisania coraz nowszych
"zîych" playerów. Dlaczego zîych? Otóû ja rozumiem, jak koder
pisze ThePlayer, ProRunner czy ProPacker. Lecz istnieje okoîo
30 formatów zapisu, róûniâcych sië jedynie nagîówkiem i "drobnâ
kosmetykâ". Po co? Tylko po to, by Exotic 2.25 tego nie wypruî,
kiedy wiadomo, ûe Exotic 2.26, juû bëdzie miaî filtr do "nowego
formatu zapisu" moduîu. Czym by moduî w demie nie byî spakowany,
to i tak w 90% wypadków w tydzieï póúniej juû "chodzi" po
Internecie, czasem "wpuszczony" tam przez samych czîonków grupy,
która wydaîa demo. A juû przybywa nowy format, nowy player do
Eagle'a, nowy filtr do Exotica i Noise'a. Efektem tego jest, ûe
mamy ponad 130 "formatów" zapisu, których skromny uîamek stanowiâ
takie rodzynki, jak: ProRunner, ProPacker, ThePlayer,
TrackerPacker, PlaySID, MED czy ScreamTracker3. Reszta to jakieô
wykorzystywane sporadycznie dziwadîa ze starych dem i programów
muzycznych, o wymyôlnych nazwach, jak: AC1D-DC1A-Packer,
AudioSculpture, CustomPlay, Digital Illusions, Eureka-Packer,
GameMusicCreator, KefrensSoundMachine, Kript, ModuleProtector,
PowerMusic, Unic-Tracker, WantonPacker, XANN-Packer...
Wystarczy? I po co to komu?! Tym pytaniem retorycznym ûegnam
Was. Idë pisaê MikleszTrackera;-).