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.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. se v.ak m..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.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., 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... 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.). Jedn. se o inverzn. text " cmc data file " dopln.n. je.t. o n.kolik grafick.ch znak.... $13: Tempo... $14: Adresy definic "pattern." - ni... byty.. $54: Adresy definic "pattern." - vy... byty. M..e jich b.t a. 64, tato tabulka obsahuje absolutn. adresy, na kter.ch p..slu.n. definice za..naj.. (To je tak. d.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. - prvn. tabulka.. $130: Definice n.stroj. - druh. tabulka. N.stroj. je celkem 26, ka.d.mu z nich pat.. 6 byt. v prvn. tabulce a 8 byt. v druh.. Prvn. 4 byte z prvn. tabulky odpov.daj. ..dic.m k.d.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., 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. z druh. tabulky pak obsahuje definici pr.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.m v okn. "song" v CMC, ka.d. m. 85 byt.. Obsahuj. ..sla "pattern.", nebo hodnotu $FF pro pr.zdn. pozice. Prvn. stopa m..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. (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.", 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. 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.sobem pravideln. vyvol.vat. Nastaven. registr. 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.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." 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..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.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..e b.t p.ehr.na nahodil. sekvence z n.jak. adresy $FFxx. P.ehr.va. toti. v.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...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..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)..