home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 40 / Flop_Magazin_40_1997_02_Raster_cs_Side_A.atr / cmc.tch < prev    next >
Text File  |  2023-02-26  |  9KB  |  39 lines

  1. ZAJ MAVOSTI O CMC¢-----------------¢¢  Zkratka "CMC" v titulu tohoto ⇨l⇧nku znamen⇧ "Chaos Music Composer", coə je p❎kn⑨ hudebn     editor od Janusze Pelce z polska, vydan⑨ firmou L.K.Avalon. Tento editor dos⇧hl pom❎rn❎ zna⇨n⑦ho roz③    ②en    , p②ed n❎kolika lety v n❎m vznikaly t⑦m❎② v③echny hudebn     skladby v polsk⑨ch programech. Dnes je sice vytla⇨ov⇧n ze sc⑦ny programem Music ProTracker, kter⑨ m⇧ o n❎co v❎t③     moənosti, v jednoduchosti ovl⇧d⇧n     je v③ak CMC prakticky neporaziteln⑨. To ho spolu se st⇧le nadpr
  2. m❎rn⑨mi zvukov⑨mi moənostmi do budoucna p②edur⇨uje p②edev③    m pro "m⑦n❎ profesion⇧ln    " uəivatele, kte②     ho asi sotva n❎kdy zcela opust    .¢  CMC m⇧ bohuəel i nev⑨hody. N⇧vod dod⇧van⑨ s programem obsahuje v③echny nezbytn⑦ informace, v n⇧ro⇨n❎j③    ch p②    padech za⇨leov⇧n     hudby do vlastn    ch program
  3.  se v③ak m
  4. əe uk⇧zat p②ece jen p②    li③ stru⇨n⑨. Krom❎ toho obsahuje p②ehr⇧vac     rutina generovan⇧ CMC n❎kter⑦ chyby - mohou m    t za n⇧sledek nep②    jemn⑦ "v⑨k②iky" v pauz⇧ch p
  5. vodn     skladby, jejichə v⑨skyt zd⇧nliv❎ postr⇧d⇧ logick⑨ vztah k ⇨emukoliv.¢  Tento ⇨l⇧nek si klade za c    l podat alespo n❎kolik m⇧lo uəite⇨n⑨ch informac     o CMC.¢¢        FORM①T SOUBOR♪¢¢  V n❎kter⑨ch situac    ch je uəite⇨n⑦ zn⇧t form⇧t soubor
  6. , do kter⑨ch CMC ukl⇧d⇧ hudebn     skladby. Tyto soubory slouə     sou⇨asn❎ jako vstupn     data pro p②ehr⇧vac     rutinu p②i za⇨leov⇧n     hudby do vlastn    ch program
  7. .¢  Jedn⇧ se o b❎ən⑦ bin⇧rn     segmentovan⑦ soubory, kter⑦ pochopiteln❎ za⇨    naj     standardn     hlavi⇨kou. P②esun hudby na jinou adresu v③ak nelze realizovat pouhou zm❎nou hlavi⇨ky - soubor obsahuje i dal③     absolutn     adresy, kter⑦ um     spr⇧vn❎ upravit pouze CMC.¢  Obsah souboru je n⇧sleduj    c     (pozice jsou v datov⑦m bloku - nap②. v pam❎ti - pozice v souboru z    sk⇧me p②i⇨ten    m ③esti):¢¢    0: Identifikace souboru (19 byt
  8. ). Jedn⇧ se o inverzn     text " cmc data file " dopln❎n⑨ je③t❎ o n❎kolik grafick⑨ch znak
  9. .¢¢    $13: Tempo.¢¢    $14: Adresy definic "pattern
  10. " - niə③     byty.¢    $54: Adresy definic "pattern
  11. " - vy③③     byty. M
  12. əe jich b⑨t aə 64, tato tabulka obsahuje absolutn     adresy, na kter⑨ch p②    slu③n⑦ definice za⇨    naj    . (To je tak⑦ d
  13. vodem, pro⇨ mus     b⑨t soubor p②i p②esunu na jinou adresu upraven CMC.) Pr⇧zdn⑦ "patterny" nemaj     definice, v tom p②    pad❎ obsahuje vy③③     byte v t⑦to tabulce hodnotu $FF.¢¢    $94: Definice n⇧stroj
  14.  - prvn     tabulka.¢    $130: Definice n⇧stroj
  15.  - druh⇧ tabulka. N⇧stroj
  16.  je celkem 26, kaəd⑦mu z nich pat②     6 byt
  17.  v prvn     tabulce a 8 byt
  18.  v druh⑦. Prvn     4 byte z prvn     tabulky odpov    daj     ②    dic    m kd
  19. m, kter⑦ v CMC vid    me na prav⑦ stran❎ ok⑦nka "instr". Bity D2 a D3 v prvn    m bytu (kter⑦ nejsou v CMC b❎ən❎ p②    stupn⑦) jsou vyuəity pro jak⑦si intern     ⑤⇨ely, bity D3 a D4 ve druh⑦m bytu (rovn❎ə v CMC nedostupn⑦) pak definuj     klouzav⑦ zvuky nahoru resp. dol
  20. , kter⑦ v CMC ozna⇨uje mal⇧ ③ipka. Zb⑨vaj    c     2 byty z prvn     tabulky obsahuj     tzv. akcenty - zobrazovan⑦ v CMC pod definic     hlasitosti. Kaəd⑦ pozici p②    slu③     jeden bit, prvn     je nejvy③③    . V③ech osm byt
  21.  z druh⑦ tabulky pak obsahuje definici pr
  22. b❎hu hlasitosti - dv❎ pozice v jednom bytu, prvn     je spodn     polovina.¢¢    $200: Prvn     stopa "songu".¢    $255: Druh⇧ stopa "songu".¢    $2AA: T②et     stopa "songu". Tyto stopy odpov    daj     t②em sloupc
  23. m v okn❎ "song" v CMC, kaəd⇧ m⇧ 85 byt
  24. . Obsahuj     ⇨    sla "pattern
  25. ", nebo hodnotu $FF pro pr⇧zdn⑦ pozice. Prvn     stopa m
  26. əe nav    c obsahovat n⇧sleduj    c     zvl⇧③tn     kdy:¢        $8F: Stop (SHIFT S)¢        $9F: Jump (SHIFT J)¢        $AF: Relativn     skok nahoru (SHIFT+U)¢        $BF: Relativn     skok dol
  27.  (SHIFT+D)¢        $CF: Nov⑦ tempo (SHIFT+T)¢        $DF: Opakov⇧n     (SHIFT+R)¢        $EF: Break (SHIFT+B)¢        $FE: Pr⇧zdn⑨ ②⇧dek - bude p②esko⇨en¢  Parametry jsou uloəeny v dal③    ch stop⇧ch, stejn❎ jako v okn❎ "song" v CMC.¢¢    $300: Za⇨⇧tek definic "pattern
  28. ", d⑦lka z⇧vis     na jejich po⇨tu a obsahu. Pouəit⑦ kdy jsou n⇧sleduj    c    :¢        $00-$19: Nastaven     ⇨    sla n⇧stroje pro dal③     tny¢        $40-$7E: Tny ($40 je C-1, $41 je C#1 atd.)¢        $80-$BD: Po⇨et pr⇧zdn⑨ch ②⇧dk
  29.  zv❎t③en⑨ o $7F¢            $FF: Konec.¢¢¢        PEHR①VAC  RUTINA¢¢  Jak v    me z n⇧vodu, p②ehr⇧vac     rutina m⇧ na sv⑦m po⇨⇧tku t②i instrukce JMP a t②i prom❎nn⑦ ur⇨en⑦ ke spolupr⇧ci s nad②    zen⑨m programem (pozice jsou od po⇨⇧tku p②ehr⇧vac     rutiny):¢    0: JMP rutina pro BASIC¢    3: JMP komunika⇨n     rutina¢    6: JMP p②ehr⇧vac     rutina¢    9: Hlasitost (3 byte pro 3 hlasy)¢  Prvn     rutina se vol⇧ z BASICu pro zah⇧jen     hudby p②    kazem USR (adresa p②ehr⇧vac     rutiny, ⇨    slo skladby, adresa hudebn    ho souboru v pam❎ti), pro ukon⇨en     pak USR (adresa p②ehr⇧vac     rutiny). Pokud je v souboru v    ce skladeb, mus     b⑨t v okn❎ "song" odd❎leny povelem SHIFT+S nebo SHIFT+B; v BASICu se ⇨    sluj     od jedn⑦.¢  Druh⇧ a t②et     rutina slouə     pro pr⇧ci v assembleru. Druhou rutinu pouə    v⇧me k ovl⇧d⇧n     p②ehr⇧va⇨e, t②et     mus    me za②adit do obsluhy VBI, nebo ji jin⑨m zp
  30. sobem pravideln❎ vyvol⇧vat. Nastaven     registr
  31.  pro druhou rutinu je n⇧sleduj    c    :¢    A=0, X=⇨    slo skladby (zde od 0) - Zah⇧jit p②ehr⇧v⇧n    ¢    A=$10, X=pozice - Zah⇧jit p②ehr⇧v⇧n    ¢    A=$20+⇨    slo kan⇧lu, X=⇨    slo tnu (zde od 0), Y=⇨    slo n⇧stroje - Vnucen     ciz    ho tnu do skladby (zvukov⑨ efekt)¢    A=$30, X=tempo - Zm❎na rychlosti¢    A=$40 - Konec p②ehr⇧v⇧n     (ticho)¢    A=$50 - P②eru③en     p②ehr⇧v⇧n     (n⇧stroje dozn    )¢    A=$60 - Pokra⇨ov⇧n     po p②eru③en    ¢    A=$70, Y/X=horn    /doln     byte adresy hudebn    ho souboru - Inicializace, MUS  b⑨t prvn     operac    !¢¢  To je v③e, co se v n⇧vodu do⇨teme. Obvykle to sta⇨    , pokud v③ak chceme zvukov⑦ efekty synchronizovat s rytmem hudby, nebo dokonce podle pot②eby p②ep    nat r
  32. zn⑦ ⇨⇧sti melodie, mus    me komunika⇨n     rutinu vyvolat "v prav⑨ ⇨as". Ten rozpozn⇧me ⇨ten    m n⇧sleduj    c    ch vnit②n    ch pom❎nn⑨ch p②ehr⇧va⇨e:¢    $0C: P②    ③t     pozice v "patternu". Nula zde znamen⇧, əe je t②eba p②e⇨    st dal③     ②⇧dek ze "songu" (to b⑨v⇧ ten zm    n❎n⑨ "prav⑨ ⇨as", je v③ak t②eba vz    t v ⑤vahu tak⑦ ⇨    ta⇨ pro tempo).¢    $0D: P②    ③t     pozice v "songu"¢    $3E: ⑥    sla "pattern
  33. " pro v③echny t②i kan⇧ly¢    $55: ⑥    ta⇨ pro tempo. Po⇨    t⇧ p②i kaəd⑦m vyvol⇧n     p②ehr⇧vac     rutiny, od hodnoty "tempo" k nule.¢¢  V⑨③e uveden⑦ adresy se t⑨kaj     p②ehr⇧va⇨e, kter⑨ generuje CMC verze 2.0. Nev    m, zda existuj     je③t❎ jin⑦ verze, proto si rad❎ji p②ed pouəit    m uveden⑨ch informac     ⇨    slo verze zkontrolujte!¢¢  Zaj    mav⑨m p②    kladem pouəit     v⑨③e uveden⑨ch adres je hudba ze hry HELIX, kter⇧ je zkomponov⇧na ve 3/4 taktu. Jednoduch⇧ rutina obsluhy VBI v t⑦to h②e p②inut     p②ehr⇧vac     rutinu k p②eskakov⇧n     posledn     ⇨tvrtiny kaəd⑦ho "patternu":¢    VBI      JSR  REPLAY+6¢             LDA  REPLAY+$0C¢             EOR  #$30¢             BNE  VBIEXIT¢             STA  REPLAY+$0C¢    VBIEXIT  JMP  $E462¢¢  Na z⇧v❎r je③t❎ jedna rada: Pokud nepouə    v⇧me BASIC, m
  34. əeme s klidn⑨m sv❎dom    m p②emazat ⇨⇧st p②ehr⇧vac     rutiny (z CMC verze 2.0) od pozice REPLAY+$75A do konce. Tato ⇨⇧st obsahuje pouze podprogram pro vol⇧n     z BASICu.¢¢¢        CHYBY PEHR①VA⑥E¢¢  P②ehr⇧vac     rutina z CMC bohuəel obsahuje dv❎ chyby, kter⑦ mohou zp
  35. sobit neo⇨ek⇧van⑦ reakce hudby na zm❎ny v jinak nesouvisej    c    ch oblastech pam❎ti. Nej⇨ast❎ji se jedn⇧ o p②ekvapiv⑦ "v⑨k②iky" v pauz⇧ch, kter⑦ se objev     zpravidla po odklopen     OS-ROM.¢  Prvn     chyba: P②ehr⇧va⇨ spr⇧vn❎ nerozpozn⇧v⇧ pr⇧zdn⑦ pozice v "songu", kter⑦ pak interpretuje jako podivn⑨ "pattern" z t⑦m❎② libovoln⑦ adresy v pam❎ti.¢  N⇧prava: Instrukci CMP #$40 na pozici REPLAY+$409 zm❎nit na CPY #$40. (Autor se zjevn❎ dopustil p②eklepu.)¢  Druh⇧ chyba: Pokud je v "songu" specifikov⇧n "pattern", kter⑨ je pr⇧zdn⑨, m
  36. əe b⑨t p②ehr⇧na nahodil⇧ sekvence z n❎jak⑦ adresy $FFxx. P②ehr⇧va⇨ totiə v
  37. bec nepo⇨    t⇧ s pr⇧zdn⑨mi "patterny", jejichə ozna⇨en     hodnotou $FF m    sto horn    ho bytu adresy interpretuje jako adresu $FFxx.¢  N⇧prava: P②ed spu③t❎n    m hudby prov⑦st ⑤pravu hudebn    ho souboru pomoc     n⇧sleduj    c     rutiny. T    m budou v③echny pr⇧zdn⑦ "patterny" nahrazeny spole⇨nou definic    , kter⇧ se skl⇧d⇧ pouze ze zakon⇨ovac     zna⇨ky.¢                LDX  #$3F¢        LABEL1  LDY  MUSIC+$54,X¢                INY¢                BNE  LABEL2¢                LDA  #ADRFF:L¢                STA  MUSIC+$14,X¢                LDA  #ADRFF:H¢                STA  MUSIC+$54,X¢        LABEL2  DEX¢                BPL  LABEL1¢  "MUSIC" je adresa hudebn    ho souboru v pam❎ti, "ADRFF" je adresa jednoho bytu s hodnotou $FF - takov⑨ lze bu⇦ nal⑦zt p②    mo v souboru (vədy tam je, obvykle vyhovuje posledn     byte), nebo definovat v programu. Upraven⑨ soubor slouə     pouze k p②ehr⇧v⇧n    , jeho zp❎tn⑦ zaveden     do CMC je nep②    pustn⑦!¢¢¢        Z①V╱REM¢¢  Douf⇧m, əe informace uveden⑦ v tomto ⇨l⇧nku ⇨ten⇧②
  38. m FLOPu alespo trochu pomohou p②i pr⇧ci s CMC. V kaəd⑦m p②    pad❎ doporu⇨uji pouə    vat ve v③ech programech popsan⑦ n⇧pravy chyb p②ehr⇧va⇨e, protoəe bez toho m
  39. əe hudba nevhodn❎ reagovat na t❎əko definovateln⑦ skute⇨nosti, jako je nap②    klad verze OS-ROM apod.¢               Ji②     Bern⇧③ek (BEWESOFT)¢¢¢        POU⑧IT① LITERATURA¢¢[1] ⇨asopis TAJEMNICE ATARI 3/93 (Polsko), str. 4, Dariusz Zolna: Dokumentacja do CMC¢¢[2] n⇧vod k CMC "PODRECZNIK UZYTKOWNIKA PAKIETU CHAOS MUSIC COMPOSER" (L.K.Avalon, 1992)¢¢