"Theta Music Composer v. 1.11"
------------------( Jaskier/Taquart )-
Już od jakiegoś czasu montuje się w ATARI rozszerzenie w postaci drugiego POKEY-a. Zamierzeniem twórców tego rozszerzenia jest zapewne wyposażenie naszego kochanego złoma w dźwięk stereo. Niestety, nieustanną glorię psują elektronikom i muzykom, a także wszystkim innym posiadaczom dwóch POKEY-ów w jednym sprzecie, koderzy, nieustannie olewejący sobie tę drobną modyfikację "malucha". O tym, co się dzieje, kiedy koderzy zaczynaja "olewać" sobie jakąś sprawę, doskonale więdzą posiadacze rozszerzenia pamięci w C64 (jest tam jej kilka/naście standardów), czy też właściciele ATARI JAGUAR (uff... na szczęście to nie ja).
Oczywiście nie jest prawdą, jakoby nikogo nie obchodziło stereo. Owszem jest trochę rzeczy, które obsługują drugiego POKEY-a. Porównajcie sobie to jednak z wszystkimi programami obsługującymi rozszerzenie pamięci. Właściwie każdy DOS, ogromna ilość programów użytkowych (poczynając od znanego wszystkim MOSSAD-a), a nawet dema, używają rozszerzenia pamięci. Od zaraz mogę wymienić trzy: The Top #3, Ass Kicker i to dwudyskowe dziwadło z Rush Hours, które po podpackowaniu z powodzeniem powinno się zmieścić na jednym dysku, a nawet stronie. Niedawno Eru (ex-LBS) podesłał mi projekt intra, które wykorzystywało rozszerzenie!
Oczywiście można mi tutaj zarzucić tendencyjność w opisywaniu produktów sceny. Przecież ogromna ilośc dem i intr wykorzystuje drugi POKEY grając stereo. Chciałbym jednak odwrócić Waszą uwagę od ilości (każdy głupek zrobi program grający stereo) w strone jakości (nie każdy zrobi to dobrze). Tutaj właśnie przejawia się to, co nazwać można "olewaniem" sprawy. Nie są tu wcale winni muzycy (oni właśnie robią co mogą), ani nawet twórcy dem. Dają co mają. (Chodzi mi o muzykę.) Nie można ich winić za to wszystko, gdyż aby zrobić dobrą muzykę stereo, trzeba mieć dobry program muzyczny wykorzystujący to rozszerzenie. Niestety wszystkie znane mi programy stereo, to tylko przeróbki starszych dzieł, działających jeszcze bez tego cuda. Tutaj właśnie przejawia się właśnie tumiwisizm koderów. Nikomu nie chciało się zrobić nowego programu. Tak jakby zrobienie dema było łatwiejsze. (A może są właśnie zbyt ambitni i nie chce im się tracić czasu na takie coś jak program użytkowy?)
W każdym bądź razie taka sytuacja trwała jeszcze latem 1996 roku, co jak pamiętam z Orneta CP'96, bardzo złościło wielu muzyków. Rozmawiałem wtedy z kilkoma koderami na temat założeń, które musiałby spełniać ten hipotetyczny program stereo i pod koniec party jednomyślnie ustaliliśmy, że tak naprawdę, to nie wiadomo. Mimo to te rozmowy dobrze mi zrobiły, gdyż jakieś dwa tygodnie po party wpadłem w pełni rozradowany do chałupy Electrona, jak zwykle zapominając powiedzieć "dzień dobry" jego rodzicom (uczono mnie, aby nie rozmawiać z nieznajomymi) i powiedziałem:
-Wpadłem na genialny pomysł. Zrobię program muzyczny na stereo.
Moje emocje podskoczyły jeszcze wyżej, kiedy usłyszałem szczerą zachęte Electrona:
-Nie zrobisz. Do tego trzeba muzyka.
-?????????????????????????????????
(Zawsze mi sie wydawało, że muzyka potrzeba do zrobienia muzyczki, a nie całego programu.)
-To muzyk powinien robić taki program- argumentował dalej Electron- bo on sam najlepiej wie, co jest w takim programie potrzebne.
Chciałbym tutaj wspomnieć, że ja sam mam za sobą przeszłość muzyka. Wolałem jednak w tamtej chwili o tym nie przypominać, gdyż Electron ma odruch warunkowy, na dźwięk jakiegokolwiek z moich około 15 utworów, przejawiający się jednym słowem: WYŁĄCZYĆ!!!! Zamiast tego powiedziałem:
-Słuchaj Tomek. Rozumiem, że do napisania assemblera potrzebny jest koder- tutaj śmiech Jarka, młodszego brata Electrona- ale nie wydaje mi się aby Dracon stworzył najlepszy program graficzny.
Niestety jednak Electron był stanowczy. Na tym sprawa by się pozornie mogła zakończyć, gdyż tu nagle, kilka dni po poprzedniej rozmowie, Electron wpada do mnie i mówi:
-Wpadłem na genialny pomysł. Zrób program muzyczny na stereo.
-"O kurcze"- pomyślałem- "zawsze mi się wydawało, że to mój pomysł. Ciekawe jaka jest kara za plagiat? Może jednak wyjdzie z tego coś dobrego. (Pamiętacie treść poprzedniej rozmowy?) Może w końcu Tomek dostrzegł we mnie muzyka? Hurrrraaaaa !!! Mój talent w końcu został dostrzerzony !!!"
Niestety Electron szybko wyprowadził mnie z błędu.
-Uznałem, że taki program jest faktycznie potrzebny. (A z braku laku dobry kit- -domyśliłem się.)
Nie wchodząc w szczegóły kierujące moim kumplem, zabrałem się do pracy umysłowej i po tygodniu, dokładnie w dniu pierwszego września, miałem już obmyślony format danych, spis opcji, wygląd ekranu i wszystkie inne rzeczy, które trzeba opracować przed rozpoczęciem pracy nad programem, a które wielu koderów zostawia na czas poźniejszy, przez co ich programy można najłagodniej określić jako niedopracowane.
Jedną z tak dopracowanych rzeczy była nazwa programu. Wyjaśnienie dlaczego pierwsza litera skrótowej nazwy oznacza "Theta", a nie "Taquart" znajduje się w dołączonym DOC-u. Nie jest to jednak wyjaśnienie do końca prawdziwe. Po prostu nazwa Taquart Music Composer nie chciała mi się zmieścić w wyznaczonym do tego fragmencie ekranu.
A zatem dnia 1 września zabrałem się do pracy. Po tygodniu miałem już stworzony player. Po następnych 3 tygodniach composer, a następne dwa zajęło mi napisanie procedur zapisu i odczytu, DOC-ów i odbugowanie całego tego lamerskiego chłamu. W końcu bracia atarowcy mieli program do komponowania w stereo!!! I do tego stworzony w rekordowym czasie 6 tygodni!!!
Oczywiście cała produkcja nie przebiegała tak sielankowo. Przerywana była częstokroć nalotami Electrona na moją chatę w celu inspekcji i nadzoru, co oczywiście dezorganizowało mi plan pracy, zwłaszcza, że Electron nie ograniczał się tylko do tego, ale również próbował narzucić mi koncepcję programu. Jednym z jego pierwszych postanowień było, aby player grał 8 razy na ramkę (jak w C64). Na szczęscie po mojej reakcji:
-Hahahahahahaha * 10^6
zorientował się, że palnął głupstwo (zastanówcie się: 8 razy po 2 kanały to daje 16 razy więcej niż normalnie) pozwolił mi zrobić program wywołujący player 4 razy na ramkę. Oczywiście i z tym były problemy. Player zajmuje trochę cykli, a ja w programie, w przerwaniach, również sporo robię. Ale Electron się uparł i już myślałem, że na czas odgrywania muzyki bedę musiał wyłączać ekran. Na szczęscie po drobnym przyśpieszeniu playera wszystko na styk się zmieściło.
I tak to właśnie wyglądało.
Nie ma jednak programu bez błedów. Ten stworzony w pośpiechu program miał ich kilka. Namierzyłem ich 4, w tym jeden wywołujący dość negatywne skutki (tak to bywa kiedy zamiast JMP *+6 zrobi sie *+5). Na procesorze 6502 program działał niby poprawnie, tyle, że kopał coś w pamięci. Trudno było jednak stwierdzić co. Na procesorze 65816 w ogóle nie działał. Na szczęście z pomocą jednego z posiadaczy takiego procesora (dzięki, Konop!) na Orneta CP'97 namierzyłem ten błąd i jest on już wywalony. Wszystkich, którzy z tego powodu cierpieli serdecznie przepraszam. Przy okazji informując, że wszelkie błędy w TMC znajdują się tam tylko i wyłącznie z mojej winy i tylko ja jestem za nie odpowiedzialny.
Pół roku po stworzeniu pierwszej wersji postanowiłem dokonać paru przeróbek w programie. Usunąłem 3 spośród 4 błędów (niestety ten fatalny pozostał). Zmieniłem wygląd i dodałem trochę opcji. Niestety ten ulepszony program nie został szerzej rozprowadzony. Powodem tego jest to, że mój swapper, do którego ten program przesłałem, aby go rozpuścił, bezczelnie go sobie skasował i powiedział mi o tym dopiero na Orneta CP'97. (Dzięki, Slaves!)
Tuż po tym party zabrałem się za kolejną wersję TMC (ver 1.11). Poprawiłem ten feralny błąd. Dodałem kilka buforów na nazwy plików (osobno dla muzyczki, instrumentu i directory). Zmieniłem sposób powracania do poprzedniej strony instrukcji (teraz aktualna odjeżdża w prawo). Dodałem wygaszanie obrazu Composera. Obecnie również przy przechodzeniu między Composerem, a Menu nie są kasowane żadne dane (włączając w to bufory na pattern i instrument, które były kasowane w poprzednich wersjach). Ostatnią zmianą jest sprawdzanie przed rozpoczęciem odgrywania muzyczki, czy w songu rozkazy skoków się nie zapętlają.
Ta ostatnia wersja została umieszczona na dysku z magazynem. Znajduje się ona w pliku TMC.ARC. Razem z nią umiesczone są 2 pliki z instrukcją, źródłówki 2 playerów (oryginalnego i szybkiego) oraz 6 przykładowych muzyczek. Mam nadzieję, że ten program będzie cieszył się wsród Was sporą popularnością.
Na koniec jedna prośba. Ponieważ nie ma programu bez błedów proszę o zgłaszanie wszystkich zauważonych błędów bezpośrednio mnie (adres w TMC) lub komuś z Taquartu. Dzieki.
Jaskier/Taquart