Tajemnice ATARI

Dokumentacja do CMC


    Wielu z Was wyraziło swoje zainteresowanie sposobem zapisywania utworu przez program Chaos Music Composer. Przyznam, że temat jest ciekawy i warto go przybliżyć, co też poniżej czynię w zastępstwie autora CMC, z którym trudno jest się skontaktować.

Bajty od początku pliku Znaczenie
$00 Nagłówek (tytuł) służący do rozpoznania programu.
$13 Tempo.
$14 Młodszy bajt adresu patternu.
$54 Starszy bajt adresu patternu.
$94 Wartości dla definicji instrumentu i akcenty.
$130 Definicja obwiedni (natężenia dźwięku) instrumentu.
$200 Zapis pierwszej ścieżki z okna SONG.
$255 Zapis drugiej ścieżki.
$2AA Zapis trzeciej ścieżki.
$300 Początek zapisu patternów.


   Objaśnienia niektórych pozycji tabeli:

  • Wartości dla definicji instrumentu mają następujące znaczenie:

    — Pierwsze cztery bajty są to wartości widoczne po prawej stronie okna INSTR. Jeżeli definicja ma ustawione podciągnięcie dźwięku, to drugi bajt zwiększony jest o 8. Jeżeli definicja ma ustawiony "zjazd" dźwięku, to drugi bajt zwiększony jest o 16.
    — Bajty piąty i szósty to bitowa mapa akcentów - kolejnym bitom odpowiadają kolejne pozycje w definicji obwiedni.
  • Definicja natężenia dźwięku składa się z ośmiu kolejnych bajtów, których połówki odpowiadają za natężenie dźwięku w danej pozycji. Są one ułożone od lewej do prawej strony, najpierw w młodszej, potem w starszej połówce bajtu.

       Ścieżki w oknie SONG zawierają numery pattemów odgrywanych w danym momencie, za wyjątkiem następujących wartości:

    Wartość Klawisze Znaczenie
    $8F SHIFT S STOP - zatrzymanie odgrywania muzyki z kontynuacją wybrzmiewania dźwięku.
    $9F SHIFT J JUMP - skok do linii określonej bajtem z drugiej ścieżki.
    $AF SHIFT U UP - skok w górę o liczbę linii pobraną z drugiej ścieżki.
    $BF SHIFT D DOWN - skok w dół tak, jak przy skoku w górę.
    $CF SHIFT T TEMPO - ustalenie nowego tempa według wartości pobranej z drugiej ścieżki.
    $DF SHIFT R REPLAY - pętla wykonywana n razy na m liniach, n pobierane jest z trzeciej, a m - z drugiej ścieżki.
    $EF SHIFT B BREAK - przerwanie odtwarzania muzyki i skok w górę do napotkania takiego samego znaku lub do pierwszej linii w oknie SONG.

        Wyjaśnienia wymaga również sposób zapisu patternów. I tu również posłużę się tabelą:

    Wartość Znaczenie
    $00 - $19 Numer instrumentu użytego do odgrywania następnych dźwięków.
    $40 - $7E Numer dźwięku liczony w półtonach (od C1 do D6) zwiększony o $40.
    $80 - $BD Ilość pustych linii zwiększona o $7F.
    $FF Koniec patternu.

        Myślę, że przedstawione tu informacje przyczynią się do powstania wielu programów współpracujących z CMC. Przykładów jest wiele: przenoszenie muzyki z SOUND TRACKERÓW napisanych dla komputera AMIGA, obsługa lnterface'u MIDI czy choćby program odtwarzający muzykę z CMC za pomocą sampli.

       Może na dobry początek zaczniemy od programu zapisującego muzykę w formie pliku tekstowego?


    Dariusz Żołna

  • Powrót na start | Powrót do spisu treści | Powrót na stronę główną

    Pixel 2001