@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H  }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C4 ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `8  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED697 FREE SECTORS COPYING---D8:COPY32.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 143ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8ubDEHI B V@ A BC LLG#4  L ) LŠ T}Ǡ (c)1992 Jiri Svoboda jr., ProstejovD8: install as: A. 130 XE ramdisk B. EX(tra) ramdisk C. No in U}stall (c)1992 Jiri Svoboda jr., ProstejovD8: install as: A. 130 XE ramdisk B. EX(tra) ramdisk C. No in MPE MIDI Pattern Editor , version 2.3, Radek t%rba, c$ RASTER 1995Tento editor slou() ke skl*d*n) hudby patternov`m zp+so(W}bem. Hudba se skl*d* z jednotliv`ch '*st) pattern+$ a tyto jsou pak v po(adovan[m po@ad) p@ehr*v*ny.Z*kladn) ]daje:Nutn[ (X}minim*ln) vybaven): Po')ta' Atari XE/XL kompatibiln) 64KB RAM$ MIDI interface p@es s[riov` vstup/v`stup - standardn)m s(Y}[riov`m konektorem$ Kl*vesov` hudebn) n*stroj s MIDI standardn) MIDI norma$Kapacita editoru: Song m* 256 krok+ 32 sam(Z}pl+ specifikace n*stroje a dynamiky, mo(nost akord+$ 128 pattern+ pattern se skl*d* ze 4 track+ a m* 32 takt+$Dal&) info([}rmace: Pro v`stup se pou()vaj) 4 MIDI kan*ly 0 a( 3$ Pro vstup libovoln` kan*l Dynamika ]hozu kl*vesnice nen) sledov*na(\}$ Ovl*d*n) programu se prov*d) syst[mem "hork`ch" kl*ves, tj. p@)mo stla'en)m kl*vesy vyvol*te p@)slu&nou funkci.Re(im PA(]}TTERN:Tento re(im slou() k vlastn)mu z*pisu not do jednotliv`ch pattern+, ze kter`ch se cel* hudba skl*d*. *dky p@edstavuj)(^} takty, ve 'ty@ech sloupc)ch jsou tracky. Ka(d` track m* pevn% p@i@azen` MIDI kan*l 0 a( 3$ a noty, um)st%n[ v n%m, budou vy(_}sl*ny pr*v% pro tento kan*l.Ka(d* nota za'ne zn)t v okam(iku, kdy na ni program naraz) a zn) d*l. Jej) ukon'en) nastane a( v(`} okam(iku, kdy je nalezen symbol " $" nebo nov* nota. P@)klad:00 |C-3 00|E-3 01|--- 00|C-4 05|01 |--- 00|--- 00|G-3 07|--(a}- 00|02 |--- 00| $ 00|--- 00|spd 09|03 | $ 00|--- 00|--- 00| $ 00|04 |end 00|--- 00|--- 00|--- 00| . .0.t` kan*l:Z(b}a'ne zn)t nota C-3 specifikace n*stroje atd. je d*na samplem ')slo 00$ a zn) po dobu 3 takt+. Ve 'tvrt[m taktu @*dek 03$ u((c} nezn) nic. Symbol "end" v @*dku 04 zp+sob), (e cel` tento pattern m* dohromady 4 takty.1.kan*l:Za'ne zn)t nota E-3 specif(d}ikace n*stroje atd. je d*na samplem ')slo 01$ a zn) po dobu 2 takt+. Od t@et)ho taktu u( nezn) nic.2.kan*l:Jeden takt mezer(e}a - nezn) nic. Ve druh[m taktu za'ne zn)t nota G-3 sampl 07$ a bude zn)t po@*d d*l i po ukon'en) tohoto patternu$. K jej)mu(f} ukon'en) dojde a( v okam(iku, kdy ji p@eru&) jin* nota nebo symbol " $" v tomto tracku$.3.kan*l:Za'ne zn)t nota C-4 sam(g}pl 05$ a zn) 3 takty. Symbol "spd 09" v @*dku ')slo 02 zp+sob) zm%nu rychlosti p@ehr*v*n) v&ech track+!$. Od t[to chv)le bud(h}e jeden takt p@edstavovat dobu 9/50 sekundy. "spd" m+(e b`t um)st%no v libovoln[m tracku kde m*te m)sto$ a nov* rychlost pla(i}t) a( do zm%ny nov`m "spd".GP@echod do re(imu SONG.MP@echod do re(imu SAMPLE.InverseZapnut)/vypnut) p@)jmu dat z kl*v(j}esnice n*stroje.nahoruPosun nahoru o takt zp%t$.dol+Posun dol+ o takt vp@ed$.vlevoPosun vlevo tak[ p@echod na lev%j&(k}) track$.vpravoPosun vpravo tak[ p@echod na prav%j&) track$.TabP@echod na prav%j&) track.ReturnP@echod na za'*tek patt(l}ernu.0..9,A..FZ*pis ')sla na aktu*ln) pozici kurzoru HEX - &estn*ctkov* soustava$.DelSmaz*n) obou cifer ')sla na akt. po(m}zici a posun dol+.ShiftnahoruShiftdol+Nastaven) aktu*ln)ho samplu zm%na po 1$.ShiftvlevoShiftvpravoNastaven) aktu*(n}ln)ho patternu zm%na po 1$.ControlvlevoControlvpravoNastaven) aktu*ln)ho patternu zm%na po 16$.LNastaven) tnu na n*(o}stroji na kan*lu Ach$ a p@ehr*n) aktu*ln)ho samplu po dobu dr(en) kl*vesy$ v not% C-5 podle ]daj+ v aktu*ln)m samplu$.II(p}nicializace d[lky taktu pro p@ehr*vku$. Provede nastaven) hodnotou z 0.-t[ho samplu viz. d*le$.TZ*pis " $" na akt. m)sto(q}. Tento symbol znamen* ukon'en) pr*v% zn%j)c)ch tn+ v dan[m tracku tj. pu&t%n) p@)slu&n`ch kl*ves$.SZ*pis "spd" na akt. m(r})sto. )slo udan[ za t)mto symbolem ozna'uje novou hodnotu pauzy pro jeden takt plat) u( i pro takt, ve kter[m tento symbol (s}je.NZ*pis "end" do 0.-t[ho tracku. Ozna'uje konec patternu tento symbol p)&eme do prvn)ho ji( neplatn[ho taktu$.Pou()v* s(t}e pro patterny, kter[ maj) m)t m[n% ne( standardn)ch 32 takt+. Program "end" sleduje pouze v 0.tracku , v ostatn)ch ho ignor(u}uje!$. mezern)kZ*pis "--- 00" na aktu*ln) m)sto a posun dol+.P@ehr*v*n) skladby:OSpu&t%n) p@ehr*vky aktu*ln)ho patternu(v} od akt. taktu$.PSpu&t%n) p@ehr*vky skladby od za'*tku patternu podle nastaven[ho aktu*ln)ho @*dku v re(imu SONG pak pokr(w}a'uje dal&)mi @*dky$.RSpu&t%n) p@ehr*vky cel[ skladby od za'*tku SONGu$.Libovoln* kl*vesaP@eru&en) p@ehr*vky.Z*znam z (x}kl*vesnice n*stroje:Jestli(e je zapnut p@)jem dat z kl*vesnice n*stroje viz. inverze$, pak se p@i ka(d[m stla'en) kl*vesy p(y}@)slu&n* nota zap)&e na aktu*ln) m)sto tj. do aktu*ln)ho patternu, tracku a taktu$. N*sleduje posun na dal&) @*dek. Toto pla(z}t) i p@i sou'asn[m p@ehr*v*n) skladby nebo patternu$, tak(e je umo(n%n i ZZNAM V RELNM ASE!!!Blokov[ operace:ShiftT({}Ulo(en) aktu*ln)ho tracku do bufferu.ControlTP@eps*n) aktu*ln)ho tracku trackem z bufferu.ShiftPUlo(en) aktu*ln)ho patt(|}ernu do bufferu.ControlPP@eps*n) aktu*ln)ho patternu patternem z bufferu.ShiftControldelSmaz*n) aktu*ln)ho tracku.Shi(}}ftControlclrSmaz*n) aktu*ln)ho patternu.Z*znamov[ a ostatn) operace:ShiftControlWZaps*n) cel[ skladby na disk v'et(~}n% songu a sampl+$. Po'et pattern+ bude odvozen z nejvy&&)ho pou(it[ho ')sla v SONGu.ShiftControlRNa'ten) skladby z disk(}u p@ep)&e moment*ln) skladbu$.ShiftControlDSmaz*n) v&eho songu, v&ech sampl+ i pattern+$.ShiftControlQOpu&t%n) prog(}ramu - p@echod do DOSu.Re(im SONG:Tento re(im slou() k sestaven) skladby z jednotliv`ch pattern+. )sla na jednotliv`ch @*(}dc)ch znamenaj): 00 a( 7f ..')slo patternu, kter` m* b`t hr*n. fe ..konec skladby  ukon'en) v&ech zn%j)c)ch tn+$. ff(} ..p@echod na 0.t` @*dek SONGu a pokra'ov*n) v p@ehr*vce.EscN*vrat do re(imu PATTERN.Nahoru,dol+,vlevo, vpravoPosun p@)s(}lu&n`mi sm%ry.Bk SpPosun v&eho pod t)mto @*dkem o jednu pozici nahoru.>Posun v&eho pod t)mto @*dkem v'etn% tohoto$ o jed(}nu pozici dol+ m)sto pro vkl*d*n)$.0..9,A..FZ*pis ')sla na aktu*ln) pozici.ReturnP@echod na nult` @*dek tj. na za'*tek (}songu$.TabP@echod na nejbli(&) dal&) osm` @*dek.Re(im SAMPLE:Tento re(im slou() k zadefinov*n) parametr+ pro stla'ovanou(} notu. Umo(uje zadat n*stoj, kter`m m* b`t nota hr*na, jej) hlasitost a p@)padn% i akord, odvozen` od t[to noty.Ka(d` sampl(} obsahuje 8 parametr+, kter[ znamenaj):0000Nech*vejte =00 rezervov*no pro p@)padn[ roz&)@en)$01To 00N*stroj. )slo 00 (}a( 7f ozna'uje, kter`m n*strojem m* b`t nota hr*na.02Ba 00)slo banky Jen m*-li n*stroj v)ce bank. Jinak =0$. Pozn. Proto(}(e p@ep)n*n) bank se n*stroj od n*stroje li&), v z*kladn) verzi tato funkce nefunguje.03V1 00Dynamika ]hozu hlasitost$ 1.(} noty tj. noty zapsan[ v patternu$. Povolen` rozsah 01 a( 7f 00 znamen* ticho$.042 00Transpozice 2. noty od 1.Vyjad@uje(} posun v p+ltnech$. Doplkov[ ')slo: ... , fd=-3 , fe=-2, ff=-1, 00=0, 01=1, 02=2, ...05V2 00Dynamika ]hozu hlasito(}st$ 2.noty. Povolen` rozsah 01 a( 7f 00 znamen*, (e bude zn)t jen 1.nota$.063 00Transpozice 3. noty od 1. Vyjad@uje posu(}n v p+ltnech$.07V3 00Dynamika ]hozu hlasitost$ 3.noty. Povolen` rozsah 01 a( 7f 00 znamen*, (e bude zn)t jen 1. a 2.no(}ta$.Pozn*mka: Speci*ln) v`jimku tvo@) sampl ')slo 00, kter` se li&) parametrem 00. U n%j toto ')slo znamen* rychlostn) ]daj(} pro skladbu ]daj v 1/50 sekundy$. P@i spu&t%n) p@ehr*vky cel[ skladby kl*vesou "R"$ bude provedeno nastaven) aktu*ln) doby(} pro jeden takt touto hodnotou. Ke zm%n% t[to doby dojde pouze v p@)pad%, (e bude p@ehr*n n%jak` pattern, ve kter[m je symbol(} "spd" s jinou hodnotou.Inicializaci hodnoty pro d[lku taktu m+(ete rovn%( prov[st kl*vesou "I".escN*vrat do re(imu PATTE(}RN.nahoru,dol+Posun nahoru a dol+. Posunut)m se do oblasti pro jin` sampl bude provedeno nastaven) tohoto samplu jako aktu*(}ln)ho.vlevo,vpravoPosun vlevo a vpravo.0..9,A..FZ*pis ')sla na aktu*ln) pozici.returnP@echod na nult` @*dek tj. na za'(}*tek nult[ho samplu$.tabP@echod na nejbli(&) dal&) osm` @*dek tj. na dal&) sampl$.LP@ehr*n) aktu*ln)ho samplu. Funguje s(}tejn% jako "L" v re(imu PATTERNPozn*mky a d+le(it* upozorn%n):1.$ Nikdy nestla'uj RESETPro opu&t%n) programu pou()vej z*(}sadn% funkci ShiftControlQ a nikdy ne RESET tla')tko.Komunikace s MIDI n*strojem funguje na principu zas)l*n) zpr*v - poku(}d stisknete RESET, n*siln% p@eru&)te program a m+(e doj)t k tomu, (e n%kter* z t%chto zpr*v nebude vpo@*dku doru'ena. To m+(e(} m)t za n*sledek vznik tzv. "vis)c)ch" tn+ Na Va&em n*stroji z+stanou n%kter[ tny zn)t$. V`chodiskem z tohoto stavu pak m+(}(e b`t tla')tko RESET na hudebn)m n*stroji pokud je ov&em t)mto tla')tkem vybaven$ nebo vypnut) a znovuzapnut) MIDI re(imu. (}U n%kter`ch n*stroj+ je jedinou pomoc) z t[to situace vypnut) a znovuzapnut) cel[ho n*stroje.2.$ P@ehr*vka skladbyK regule(}rn)mu spu&t%n) p@ehr*vky cel[ skladby pou()vejte z*sadn% funci "R". Pouze tato funkce provede p@ed samotn`m spu&t%n)m inicial(}izaci d[lky taktu 0.-t`m parametrem v samplu ')slo 00 - viz. re(im SAMPLE$. P@i spou&n%n) funkcemi "P" nebo "O" je pouze p@e(}hr*v*na p@)slu&n* '*st bez tohoto nastaven) a d[lka taktu je ponech*na tak, jak z+stala z p@edchoz) p@ehr*vky.3.$ Spu&t%n) (}MPEPo spu&t%n) MPE nen) provedeno inicializa'n) vy'i&t%n) pam%ti. Proto p@ed zapo'et)m pr*ce provete funkci "Delete all" C(}ontrolShiftD$. Tato drobn* skute'nost umo(uje p@i p@)padn[m zhroucen) programu jeho op%tovn[ na'ten) bez ztr*ty nebo jen (}s malou ztr*tou n%jak[ '*sti$ sestavovan[ skladby.4.$ P@enositelnost modul+ .MPE$Vytvo@en* hudba se ukl*d* ve form*tu mod(}ulu .MPE , obsahuj)c)ho song, v&echny samply a pot@ebn[ ve skladb% pou()van[$ patterny. Nelze ov&em zajistit, aby p@i p@ehr*(}vce modulu, vytvo@en[ho na dan[m typu n*stroje, zn%l tento modul stejn% i na jin[m hudebn)m n*stroji. Probl[my spo')vaj) zejm(}[na v rozd)lu mezi p@i@azen)m zvukov`ch vzork+ jednotliv`m ')sl+m na r+zn`ch MIDI n*stroj)ch. Dal&) odli&nost) m+(e b`t r+zn%(} interpretovan* dynamika ]hozu, zp+sobena pou(it)m jin[ k@ivky intenzity hlasitost) pro dan[ hodnoty dynamiky. Toto lze s tro(}chou &ikovnosti opravit zm%nami p@)slu&n`ch hodnot v pou()van`ch samplech tz. zm%nit ')slo n*stroje tak, aby odpov)dalo po(a(}dovan[mu; nebo zm%nit hodnotu pro dynamiku tak, aby p@)slu&n` hlas zn%l odpov)daj)c) hlasitost)$.Nejv%t&) pot)(e v&ak jsou s(} pou(it`mi bubnov`mi vzorky, proto(e jednotliv[ noty pak znamenaj) r+zn[ bic) n*stroje. prava modulu pro jin` MIDI n*stroj j(}e v tomto ohledu velmi komplikovan* a vy(aduje velk[ ]sil) je t@eba zm%nit jednotliv[ noty ve v&ech patternech$.5.$ Um)st%(}n) programu v pam%tiHudebn) editor MPE je v pam%ti um)st%n od adresy 1F00 a m%l by tedy pracovat pod v%t&inou obvykle pou()(}van`ch DOS+ nebo TOS+$. Vlastn) pracovn) pou()van* oblast je cel` zbytek konven'n) pam%ti, tj. a( po adresu BFFF tedy v'et(}n% pam%ti pod BASIC ROM$. Oblast pod ROM C000 a( FFFF$ u( vyu()v*na nen) a je ji tedy mo(n[ obsadit ramdiskem. tedy v'et(r_3,},}8xx800ff̈llll|||0`Ɔ8l,xv0 000 0 0l88l~0~,}00 0`@6ffx6 86<`|  x2f| 0`x x6`x 8p0 0`0 ~~,}`0 0`x 00~ pB̆@```B,}ƄB΄8lf<8pp8?,}ww<~~~<x`x`~,}8|888888|80~~0<~~<<>ff>``|fff|<````<>fff>ff>|``|ffff8< x``lxlf,}f8<|ffffffff>|f````>`<|~fffff>ffff<|lf< x~ 0`~<~,}~<66< 36L$L$L$L%L%L@$L$L$L5%L%L%Le%L%L%$x $  % ,}X@ԥ 0ҩҍҍҍҍҩs %=$$$=$`)߅`$$ ҍ>$ $$$h@L$0``)?$>$JJJJ)$,}$` 0ۍ;$$`0Ѝ<$$$ ?$;$ș<$șȌ$`0;$ $`0<$ $<$Ȭ$ƌd%$̔$c%ȹȹ,}$d%c%`d%`H%% h0ȥ0Ȍ%%`H%% h0 ȩȌ%%`H%%Ιh0Ȍ%%`,}Ȯ=$ʎ=$ %%`=$h@,},}/Ӣ <3+3,303432353/ԩo РЙ,}Ј Щ   e021)/ $ ) , &$ H- d- r- , * *,3,3),3L',},3L'!03ȩL'->03# L' ,3)232303032303)03J02 H-L'2323,}0303, 0303L!(4 03ȑL'N4343)43 d-L'O43Lr(F+3+3)+3 r-L'G+3L(Ɇ m+3L(ɇ,}֬03ȑ֘iL' ֨L'Jֱ֙5L'Ɋֹ5L'm֬03ȝ4֝4iL'ɭ֬,}034Ƚ4֘iL'=5363 -6353L'%43 63 -L''2IT2 )L'2L#$L $ , + o,L' ,L,}' 53 +L'( 7:3  /L)'# *60 * * *i $ ,> 0 *+L' , *l ,}- ,O 0 *+ةԩ6բL' 7:3L' *$Ѭ03ȱ-33ё֭23I23H H-hL'L'L')?y0:),}23 33``ag8WݭHh`<3 `93 )$93`)ɐ 03ȭ43֩L* ,Υ ;3;3&0,} 5,LS+ ȱ֍:3LS+LS+)H 5,h +Υ /$:3J + * &$:3 + *8` ,3,3 Љ,3`+͢+`+,3 ,},+6+ɀ +3 r- ++L+ o,`3,4,H3ȱ֙H3 7@3 7?3@3Ͻ7?3 8$7ϭ4,0 2$3,},}74,`H3033,H3n,I3 3, 5$3,}70 5$3,}70 5$n,`J 5,L/$@3` ,03JΩ<3,4,H3ȭ43 ,}+ /$)03 5, /$L*ЌИ`+3i8Ӆש 0.3,3 ֭,38-3 L- 0.3-3-30.30-3 0,}/3| 0/3ՠ 1Ҡ 0L(-`03J^-Ь23yb-`Njԩ2խ43L0ԩ2խ+3L083 ,03130323683,}7҄ H- .8363JJJ4343 d- *63L-63L-1303` 63L- 23I23 23I23Д,63i,})63L-831303 ,03L-Lt.763 66LH.6L-46366Lf. *L-H63-33hёL. 0ѭ6,}387383-73) / 0/ 0L. 0 073JJJ 073 0 073 0 073ѥЭ83/ļ`3ng3mp4o"a6,} 6 6/// , */ 0/Oԩծ * 0 *420LT/` )ɀϨy*{a,} [208 Ю20 (00BJK2D0E V0&0BD6EHI V'#H2 0,}ԩh 0 (0 * L*0 BLVDX:FILENAME.EXT2%!$-/$5,%&2/-72)4%-/$5,%0!44%2.3 4/)/%22/215)44/$/3,}9 $%,%4%!,,9 D00@`HԈheԅԐ`ԩ`HJJJJ0h)0`abcdef`I,}91Ƚ1Ȋ )a2L21JJA2ԩL0##$$%&&''!!"##$$%&&''!!"##$$%&&''!!"##$$%&&''!!"##$$%&&''!!"##$$%&&''!!"##$$%&&,}''!!"##$$%&&''!!"##$$%&&''!!"##$$%&&''!!"##$$%&&' se                               ,}                        pnaa ddpppB2pBp,}B20Ae2-0%6c 2!34%20att3am!#h-)$)HT30#43."y  spdend,}2adek3terba-)$)standardversion'  spdend,iDEMONSTRAN SKLADBY--------------------Proto(e demonstra'n) hudby jsou vyrobeny pro hudebn) n*stroj CASIO CT-680, nemus) 0}a nejsp)& opravdu nebudou$ souhlasit p@)slu&n[ zvukov[ vzorky s t%mi, kter[ v t%chto skladb*ch maj) b`t pou(ity ve skute'nos0}ti.Aby bylo mo(no modifikovat skladby pro konktr[tn) typ n*stroje, v souboru CASIO680.CAP je vyps*no ')seln[ p@i@azen) zvuk0}ov`m vzork+m u CASIO CT-680.Pro ]pravu skladeb doporu'uji n*sleduj)c) postup:1.$ P@echod do re(imu SAMPLE2.$ Postupn% si 0}v ka(d[m samplu p@e')st pou(it[ ')slo zvukov[ho vzorku tj. ]daj "To"$ a banky tj. ]daj "Ba"$. Pozor - ')sla jsou v HEX sous0}tav%.3.$ Naj)t v tabulce pro CASIO CT-680, o jak` n*stroj se jedn* T)m je my&leno nap@. PIANO, SAXOPHONE, STRINGS, ...$. Zj0}istit, jak[ ')slo m* tento n*stroj na va&ich varhanech Pokud tam takov` n*stroj nem*te, zkuste n%jak` co mo(n* nejpodobn%j&)0}$. P@ev[st ')slo tohoto nov% nalezen[ho n*stroje do HEX a p@epsat hodnotu za "To", p@)padn% i za "Ba" pokud nem*te v)ce bank0}, "Ba"=0$.4.$ Pokud bude t@eba, m+(ete u sampl+ zmodifikovat i hodnoty "V1", "V2" a "V3" - tj. ]daje pro dynamiku ]hozu =hl0}asitost tn+$.Pro efektivn%j&) zji&ov*n) HEXa ')sel jednotliv`ch zvukov`ch vzork+ na va&em n*stroji doporu'uji vyrobit si0} podobnou tabulku, jako je v CASIO680.CAP.Tuto tabulku pak m+(ete dod*vat ke sv`m hudb*m, aby je bylo mo(no upravit pro jin[0} typy varhan.P@evod z 10-kov[ DEC$ soustavy do 16-kov[ HEX$: HEX 0 .. 9 a b c d e f 0 .. 9 10 11 12 13 14 150} HEX1cifra = INTDEC/16$ HEX2cifra = DEC - INTDEC/16$16p@. 78 DEC$ HEX1cifra = 78/16 = 4.875 => 4 HEX2cifra = 78 - 0}416 = 14 => E => 78 DEC$ = 4E HEX$P@evod z 16-kov[ HEX$ soustavy do 10-kov[ DEC$: DEC = HEX1cifra16  HEX2cifrap0}@. 3B HEX$ HEX1cifra = 3 HEX2cifra = B => 11 DEC = 316  11 = 59 => 3B HEX$ = 59 DEC$ = HEX1cifra16  HEX2cifrap0_CASIO CT-680------------SOUNDBANK 00:Dec Hex Tone00 00 Piano101 01 Hardpsichord102 02 Vibraphone103 03 Dist Gui4}tar104 04 Saxophone105 05 Pipe Organ106 06 Synth-Bass107 07 Synth-Reed108 08 Cathedral09 09 Strings110 0A Pian4}o211 0B Toy Piano12 0C Honky-Tonk13 0D Piano314 0E Piano415 0F Piano516 10 Piano/Strings17 11 String Piano18 4}12 Bass/Piano319 13 Bass/Piano420 14 Hardpsichord221 15 Hardpsichord322 16 Hardpsichord423 17 Hardpsichord524 184} Hardpsichord625 19 Hardpsichord726 1A Hardpsichord827 1B Flute HPSCD28 1C Choir HPSCD29 1D String HPSCD30 1E Ma4}rimba131 1F Steel Drum132 20 Marimba233 21 Vibraphone234 22 Music Box35 23 Xylophone36 24 Steel Drum237 25 Cele4}sta38 26 Tree Chime39 27 Choir VIB40 28 Elec Guitar41 29 Jazz Guitar42 2A Mute Guitar143 2B Mute Guitar244 2C 4}Mute Guitar345 2D Feedback146 2E Feedback247 2F Rock Guitar48 30 Pop Guitar49 31 Dist Guitar250 32 Clarinet151 4} 33 Oboe152 34 Saxophone253 35 Bassoon54 36 Clarinet255 37 Clarilead56 38 Saxophone357 39 Oboe258 3A Bagpipe594} 3B Clarinet360 3C Pipe Organ261 3D Pipe Organ362 3E Pipe Organ463 3F Reed Organ64 40 Church Organ65 41 Street 4}Organ66 42 Pipe Organ567 43 Pipe Organ668 44 Pipe Organ769 45 Pipe Organ870 46 Wood Bass71 47 Elec Bass172 48 4}Slap Bass173 49 Synth-Bass274 4A Elec Bass275 4B Slap Bass276 4C Synth-Bass377 4D Elec Bass378 4E Elec Bass479 4}4F Elec Bass580 50 Synth-Reed281 51 Synth-Reed382 52 Pop-Lead183 53 Pop-Lead284 54 Pop-Lead385 55 Synth-Lead1864} 56 Synth-Lead287 57 Synth-Lead388 58 Power-Lead189 59 Power-Lead290 5A Cosmic Dance91 5B Fantasy192 5C Fantasy4}293 5D Synth-Sound194 5E Synth-Sound295 5F Synth-Sound396 60 Fantasy397 61 Synth-ENS198 62 Synth-ENS299 63 Synt4}h-ENS3100 64 Strings2101 65 Strings3102 66 Strings4103 67 Choir1104 68 Choir2105 69 Choir3106 6A Ensemble1107 6B Ens4}emble2108 6C Ensemble3109 6D Ensemble4SOUNDBANK 01:Dec Hex Tone00 00 Elec Piano101 01 Funky Clavi02 02 Percussio4}n103 03 Acous Guitar104 04 Trumpet05 05 Jazz Organ106 06 Bass/Piano107 07 Flute108 08 Twinkle Echo09 09 Brass14}10 0A Elec Piano211 0B Elec Piano312 0C Elec Piano413 0D Elec Piano514 0E Elec Piano615 0F Flute EP16 10 String4} EP17 11 Bass/EP118 12 Bass/EP219 13 Bass/EP320 14 Synth-Clavi121 15 Synth-Clavi222 16 Synth-Clavi323 17 Accor4}dion124 18 Accordion225 19 Harpsiclavi26 1A Harpsiguitar27 1B Synth-Clavi428 1C Synth-Clavi529 1D Synth-Clavi634}0 1E Percussion231 1F Percussion332 20 Percussion433 21 Percussion534 22 Percussion635 23 Percussion736 24 Percu4}ssion837 25 Bells138 26 Bells239 27 Bells340 28 Gut Guitar141 29 12Str Guitar142 2A Harp43 2B Banjo44 2C Kot4}o45 2D Acous Guitar246 2E Gut Guitar247 2F 12Str Guitar248 30 Acous Guitar349 31 Gut Guitar350 32 Violin151 334} Cello152 34 Harmonica153 35 Trombone54 36 Horn55 37 Violin256 38 Harmonica257 39 Cornet58 3A Double Bass59 34}B Cello260 3C Jazz Organ261 3D Jazz Organ362 3E Jazz Organ463 3F Jazz Organ564 40 Rock Organ65 41 Elec Organ1664} 42 Elec Organ267 43 Elec Organ368 44 Junk Organ169 45 Junk Organ270 46 Bass/Piano271 47 EP/Brass72 48 Bass/Org5}an73 49 Bass/Bras74 4A Bass/VIB75 4B Bass/Guitar176 4C Bass/Guitar277 4D Bass/Guitar378 4E Bass/Guitar479 4F Gu5}itar/Choir80 50 Whistle81 51 Piccolo182 52 Recorder83 53 Quena84 54 Ocarina85 55 Flute286 56 Piccolo287 57 F5}lute388 58 VIB/Flute89 59 Choir Flute90 5A Insect91 5B Computer Game92 5C Space93 5D Motorcycle94 5E Plunk Ext5}end95 5F Alarm96 60 Car Horn97 61 Telephone98 62 Illusion99 63 Matsuri100 64 Brass2101 65 Brass3102 66 Brass415}03 67 Brass5104 68 Ensemble5105 69 Ensemble6106 6A Ensemble7107 6B Ensemble8108 6C Ensemble9109 6D Ensemble10 Brass414t9}9}.@.@9}9 }@9 }9 }9 }9 }9}9}9}9}9}9}9}9}80=}=}I@L@@m@j@ @@@T@@=}=}=}=}=}=}=}= }=!}="}=#}=$}=%}=&}<0A(}A)}@ @ @ @@ @A*}A+}A,}A-}A.}A/}A0}A1}A2}A3}@$E5}E6} @ @ @Q@ @E7}E8}@E9}E:}E;}E<}E=}E>}E?}E@}EA}EB}EC}ED}EE}EF}D6IH}II} @ @@Q@IJ}IK}IL}IM}IN}IO}IP}IQ}IR}IS}IT}IU}IV}IW}IX}IY}IZ}I[}I\}I]}HBM_}M`} @@@Ma}Mb}Mc}Md}Me}Mf}LQq}BBРBB BB-----------B%DOS SYSB*)DUP SYSBSRAMDISK COMB-----------BVVMPE2V3 CAPB*MPE2V3 COMBDEMOMPE CAPB CASIO680CAPBGUITAR MPEBHARDMU MPEB 'MALASE MPEB4JMJARR MPEBGPIANSO MPEB ^ORGAN MPEB gSCHODY MPEB {FROMAM MPEB GHOST MPEB-----------BTUTODIS3CAPB TUTODIS3COMB-----------BCERVI CAPB8CERVI COMB-----------BhFUNMUSICCOMbFUNMUSICDOCtFUNMUSCZCAPB-----------#XEASY COMB-----------{DRSEK TXTB-----------8CZCONV25CAP/CZCONV25BASB-----------Qr}@@ @Qs}Qt}Qu}Qv}Qw}Qx}Qy}Qz}PU|}U}}j@m@U~}@U}@U}U}U}U}U}U}TY}Y} S@G@k@[@Y}Y}@Y}Y}Y}Y}Y}Y}Y}Y}X$TUTODISK3R.t%rba, RASTERTUTODISK3 TUrbo TO DISK$ je progr*mek pro p@evod program+ a dat z kazetov[ho form*tu Turbo2000 na}a disk.Zp+sob ovl*d*n):Po spu&t%n) odklepn%te libovolnou kl*vesu a zah*j) se na')t*n) v TURBU2000. Po zobrazen) n*zvu souba}oru a zav*d%c) adresy, odklepn%te RETURN, ')m( potvrd)te, (e tento soubor na')st chcete. Jin* kl*vesa znamen* nov[ na')t*n) oa}d za'*tku to vyu(ijete nap@. p@i hled*n) doty'n[ho souboru na kazet%$.Jakmile se cel` soubor na'te, m*te mo(nost stiskem ua}veden`ch kl*ves nastavit:ControlR ... RUN form*tBude se ukl*dat 1 blok s daty souboru s ud*n)m zav*d%c) a koncov[ adresya}$  1 blok se startovac) "RUNAD" adresou 2E0-2E1$, dle ]daj+ v TURBO hlavi'ce.ControlI ... INIT form*tBude se ukl*dat a}1 blok s daty souboru s ud*n)m zav*d%c) a koncov[ adresy$  1 blok s inicializa'n) "INITAD" adresou 2E2-2E3$. Pro INITAD a}bude pou(ita startovac) adresa z TURBO hlavi'ky.ControlD ... DATA form*tBude se ukl*dat pouze 1 blok s daty souboru s uda}an)m zav*d%c) a koncov[ adresy$. Startovac) adresa z TURBO hlavi'ky nebude v+bec pou(ita.Pak nap)&ete c)lov[ um)st%n) a n*za}ev souboru, tedy nap@.D:SOUBOR.COMPo odklepnut) RETURNu se provede vlastn) ulo(en) v nastaven[m form*tu. A( n*zev zmiz), jea} v&e v po@*dku hotovo, jinak se vyp)&e chybov[ hl*&en). Ulo(en) lze opakovat v)cekr*t a v r+zn`ch form*tech, sta') v(dy jen a}znovu zvolit form*t ControlR, I nebo D$, napsat c)lov[ um)st%n) s n*zvem a odklepnout RETURN.Pro na')t*n) dal&)ho souboa}ru z kazety stiskn%te ControlN new$, p@)padn% ControlClear pro opu&t%n) programu.Technick[ ]daje a upozorn%n): Prograa}m TUTODISK3 m* vlastn) TURBO2000 zavad%' pro na')t*n) z kazety, pro ukl*d*n) v&ak po()v* syst[mov* za@)zen). Je tedy nutn[ hoa} spou&t%t pod diskov`m opera'n)m syst[mem ov%@ena je funk'nost pod standardn)m DOSem2.5, um)st%n) programu v pam%ti je od ada}resy 2000$. Chyba p@i 'ten) nebo p@eru&en) kl*vesou BREAK je indikov*no 3x bzu'*kem. Pro pokra'ov*n) na')t*n) je nutn[ oda}klepnout libovolnou kl*vesu. P@)padn* chyba p@i ukl*d*n) je vyps*na i s jej)m ')seln`m kdem. Program dok*(e zpracov*vat Ta}URBO2000 soubory a( do velikosti cca 39KB nez*visle na jejich zav*d%c) adrese. Z)skan[ v`stupy jsou standardn) spustiteln[a} COM soubory s RUNAD adresou$, p@)padn% spou&t%j)c) se p@es INITAD adresu, nebo 'ist% datov[ OBJ soubory ur'en[ pro dal&) zpa}racov*n). Funk'nost spustiteln`ch COM soubor+ je pln% z*visl* na jejich zav*d%c) adrese a tedy pou(it[m diskov[m OS. N%kter[ a}z nich tedy bude nutn[ spou&t%t nap@. pod MicroDosem, z Q-megu nebo jin`m alternativn)m zavad%'em.it[m diskov[m OS. N%kter[ `c $  L#  ! #0!1` 1  0"L? ?!` 1  !!! L " }e}@l .@ Ʃe} L8"!L# >ƅ64Ӎө01Ԍp #.7 #ؐ.7 #ް #DLl#(6E/7 /22e}3/ #&/Ɛ1E/12435ũ1hԅҩ<Ӎ` ##0%7 ԍ )008``/`e} BJKD!E V~ ՝D#EHI $a D$E HI $B/"+## e}۝D#EHI $ $L? BLV $ $! $!!  L? JJJJ$H)$h`/utput%22/2!"#e}$%& BLV $ $! $!!  L? JJJJ$H)$h`/utput%22/2!"#d*ERVIR.t%rba, RASTERHra ervi byla vyrobena v roce 1998 jako uk*zkov` p@)klad vyu(it) hern)ho interface MultiJoy. Hra jm}e ur'ena pro 2 a( 8 hr*'+ s odpov)daj)c)m po'tem pokud mo(no funk'n)ch p*kov`ch ovlada'+. Na ]vodn) obrazovce lze stla'ov*n)mm} p)smen nastavit:P ... Po'et 'erv+: 2 a( 8R ... Rychlost: 0 a( 9 P@itom 0 je nejpomalej&), 9 nejrychlej&).Z ... Zrychom}vat? Ano - nePokud je zapnuto, pak p@i odpadnut) ka(d[ho 'erva dojde ke zrychlen) ostatn)ch o 1/50 sekundy. Jinak je zachov*m}v*na st*le stejn* rychlost.D ... Do kolika se hraje: 11, 33, 55, 77, 99Za ka(dou d)l') hru hr*' m+(e z)skat 1 a( P bod+ Pm}=po'.hr*'+$. Pokud n%kter` z hr*'+ dos*hne celkem D bod+, hra kon') a zobraz) se celkov[ po@ad).M ... Mazat mrtvoly? Ano - m}nePokud je zapnuto, tak ka(d` 'erv, kter` vypad* ze hry, je z hrac) plochy odmaz*n. To si vynucuje jinou hern) strategii, tem}dy pokud chcete vyhr*vat./ ... /-? Ano - neJe-li zapnuto, objevuj) se na hrac) plo&e n*hodn% znaky  nebo -. erv, kter` m}sebere symbol plus, se oproti v&em ostatn)m zrychl), m)nus naopak zp+sob) jeho zpomalen).START ... spu&t%n) hryHra:Hrac)m} plocha je vymezena cihlovou zd), do kter[ se nesm) nar*(et. Rovn%( vz*jemn* kolize mezi jednotliv`mi 'ervi zp+sobuje jejich m}smrt. Kdo vypadne jako prvn), z)sk*v* 1 bod a ka(d` dal&) o 1 v)ce a( do celkov[ho po'tu hr*'+. Postupn% odpad*vaj)c) 'ervi jm}sou zobrazov*ni v prav[m doln)m rohu. Body z jednotliv`ch kol se s')taj) a zobrazuj) na doln) hran% pole. Po dosa(en) nastavem}n[ho limitu hra kon') a zobraz) se v`sledn[ po@ad). Pokud n%kdo limit p@ekro'), bude jeho bodov` zisk zarovn*n na ]rove limim}tu. Maj)-li dva hr*'i stejn` po'et bod+, v)t%z) ten s ni(&)m startovn)m ')slem.Hru lze kdykoliv pozastavit a znovu rozb%hnoum}t MEZERN KEM nebo p@ed'asn% ukon'it kl*vesou ESC.Doporu'uje se hr*t v p@*telsk[ spole'nosti - jde hlavn% o z*bavu!rozb%hnoult\`nfffffff>`<|fl0fF68of;p88pf< 80 0 ~~`0 q}0```nf>ff~fff~~f<flxxlf`````~cwkccq}fv~~nf<< =}?~~~Ù~~q}~~Ó~~~~ß~??;<<<~~~<~~~ÙÙ~6<`<<6 x<<;??x`x`~<~q}~<0~0 ~ ~~<>f>``|ff|<```<>ff>>ff>|``|fff8<<``lxlf8q}<fkc|ffffff>|f```>`<|~ffff>fff<ck>6f< x~ 0~~~<Î?o? ?fppq}=??o???q}?`?@? ?q}?|??????q}??????q}?x????q}?<q}??q}????q}?q}??OO c !7McKLMNOPUVq}(RECZ|CQRZQE|QRRRRRRRRRE||ZRRRRRRRRRCٶoOoO)rOҩҬpOpRSOq}uOҹ}OҘi8 LSҌLPHh!3ҍҍҢ jS `nOLPз`0!5:q}!H ) iNi|Nh )NNNONON )N NOФOOOO ѢcU;Uq}ST;U('OmO T`xyz{`Рx|y}z~{`̩`ͩΩ|Ϣ̑q}`/O/O 0OO8 NyNO0OON/OO/O/OO`/O/O N/OO T/O U \z }0~3\03l13>\0~3Z13&J223JV24(264 *3n4z}      z}      z}    &un-uz}sicby"%7%3/&4&reeware˿xqke_ZUPKGC?<852/,*'%#!Ĺzslf`ZUPKGC?;741DzÕ[k}v0z}picU^ Y TROJFB>j;841'/,*'k%Q#V!vt=6 x  { V Pg9:d%{Hz}tP/r]I6%~wpic]WRMHD@<841.˿zqke_ƻ{sz}mgaZUŹTOwK:630-*'$" q$Rk: hE)lWB4z}ĺ{tmf`[UQLGC?<851.+)!!!!!!!!!!!!!!!!!!!!!!!Io oF!J sz}G!!!!!!!!!!!K r" p!!!!!!!!!!!!!J qtF!!!!!! stz}!!!!!!! stH!Kr!!!!!! u q#!!!!!z}IoLQ9L78L&9L2:L=L>L[>L%=LL=L5L5L;LY=@B0/DA40xxxx0 ppppz}p ,-.TUV|})*+QRS|}yz{)*+|},-.TUV@ABgghhijjkk@ /01WXY 234Z[\s;z}4``5L_H ԩЍЩ Щ16ЩЩЩOЩ Э) JJJ Э)HHz}Ьș2 5hhh@HH$ ԍ ԎЩzЩ8Щb6H Nhhh@H ԍЅM ԩ6 ԍh@HHz } 76H Nhhh@HH 86hh@H ԍЩٍ6 ԩT ԍh@HH 76hh@HH 87Hz!} Nhhh@HH 7$7hh@HH 8:7hh@H\74 ԍЊHH Nhhh@HH 7r7hh@HH 87z"}hh@H7HH >hhh@H7 ԍh@H5HH Nhhh@ ԍЍ( ԍ ԩ нн/8 ԍн3z#}8Щ` ԭ Ѝ Խ ԍЩ н,`RB2VF6ߠЩz$}5i(E䩘ԩЩ Ѝ Щ Щ0ЩЩЍЩ@ԩԍoЩЍЍ/ԩɢ401ԎԍԎz%}ԩ>/ԩЬ"#5555 \`55 \@ԩ/ԍЍ ЍЍЍЍ`h02^Vz&}999'999Е:٩:`   z'}   ibiX51d5Yn8^V b: z(} {:( {:P : :p5葀`5i5iȩ(ȩ)?;JJB;*)H;HL;RhݑH x 1;z)} 1;hn;r;JJ v;w;i(i0` 7; 7;P;葀`⍎z*}hh$((*,0,`,,,,5i5i } $-%-;#iP`Owǩ󅀩L;55' z+} <Ƚ<i'ɠ`&'NOvw$%LMc$%LMd5i-5i mxC) ))D(P0J<z,} i(E)б`P(; < <ș `+ < +05I };8+ iP?, z-}p`H (08@h0I i iPL<5i}5i ʠx(Pʈ` iOz.},;0x `0 <55%Ȑ0 ;` ;0 :0 ;z/}0'L%=L< i`H)K> HpP>h0JyU>(ЖE`DDDCBBBAȠxz0}P(Em1807ڌȌȌȌȌ}8𖩋񖩌(L>`ȌȌȌȌUߩיz1}ؙٙi(L> >`LCLFLq?LCLELELnFLD4567bcde89@U:;?``i `@@Z N ? 4@@`):JJJJ;8J>8>>>ۭ)z3} )?$@0,@:<) )?f=D{DrD|DsD CL.D06@D6<@D06BhSE6DFz=}PHDPF8HPGnH>JpF>rF>КF>FLZ@LZ@  H 4 ʽD A! )z>}Lq CCLE 4 4 4L4  H ;C ;C ;C ;C A 4L?E^V^V ^V^V L40`QPQz?}EPycFcF8怽EP`z@}  F F FCG#8i`Q mQ zA}e )łŃE)`28HLF28pLF28LF28\`D"'''H ;ChH A zB}HhL4PLG\%H A HhH CChLG)J)'LG)LGiH A HzC}hHi#i LG8# NhL4\H8P IChH A HhL4'T8PJJ]\8JJI8\ ]\ـ LzD}4`HK NhH 4h]L4 N {@<[ NL?E 41 4 4`ŭ8PJJ]28JJI8\zE}L_HH _Hh N` 4 NLHLHLHLqLlkHHHIrHzHHIAl }J Exit to DOS |K K OIl }J : Are zK}you sure (Y/N) ? I)Yy Nn8 K(` }J ` N qJ 6IL8I KL ? }JAddrzL}ess: $xxxx - $xxxx` }J ERROR - $XX Press any key...` }JFilename: D1:XXXXXXXXXXXXXXXXXXXXXXXX` OIk Ik mzM}J }J FunMusic Compiler }J  }J... Back to main screen ! }J+... Clear All }JzN}+... Exit to DOS 6I pI9 L0 L L Lo Jo L L Ko L) L Iɛ@~2) H Kh /KL3M0: )_AGzO}o LoЧoo J KDTL1UL:VL WLooTL TL ELoTL)TL Iɛ:~$) H ELh /KLM}ǮoTzP}Loиo TLSLo EL qJmn N 8ITDLE @I09DTET8THTThiHiI :I0  8I0LKzQ}H 8Ih K L ILKLNLULPLPLULQLRLRLSLSLS```(𸘙`@@8'zR}?,U"R oU S0OS 4K PLzP_VT 4LzPQN}oUONiONOOPNOO PNONONzS}OO^i  *`0%'7* PR1VLjP(բ >P[LjPRV Sؽi8PJPSzT}x0 JłJ łƀLO iO,V:P2P P P2P}^i `}P`it0)0,04LzzU}P_VT, P@`8 t̊8 8 Ɗ8 ýP` $i C GgLsUU >LQzV}@@U' RRM^V`R HSSI KS SUШTT TQPm1  4zW}1 QP 4 ?;61Ɉx(1011LQx1 111 4@`0PPN0QNNQ` HzX}STUVWXY1P[ 4 ,S^ViJO 4 4RQ QP 4 ? S23"'zY}i#i LdR8#zR 4֩ 4H 'R 4h`fީ 4R2 'R2 > ? ?1 4 zZ}4`TSPRQ QTP 4 ? SU`U S > ? ?`ZZ`(PxQ ?)S`Q ?)Sz[}Q ?)S`#8i`^(8`T8TSTSTTSSiz\}ȱiLS8WmS8W hhhh U(-$%EVFVשHhVȌNVOVEVFVEVFV$Я%ЪNVOVL\x F u n M u s i c ================ By BEWESOFT INTRODUCTION FunMusic is a~c} program for simple and easy music-playing on ATARI XL/XE computer. It allows you to play a kind of music in real-time using ~d}a joystick, or a mouse from ATARI ST (strongly recommended). FunMusic doesn't require any knowledge of music-theory (only a b~e}it of sense). All you need is a bit of patience and this manual. Beside of this main function, you can also compile the mus~f}ic to be used in your own programs. But FunMusic is NOT a real music-editor. If you are able to write good songs for example ~g}in MUSIC PROTRACKER 2.4 or CHAOS MUSIC COMPOSER, then you should do so - you'll get much better results. However, if you can'~h}t compose music with the "real" music-editors, FunMusic gives you a chance to create a kind of medium-quality music easily.~i} FunMusic is Freeware - you can make copies, give them to your friends (recommended) etc., as long as no changes are done to~j} the program. Note: If you're a musician, you'll probably find some insufficiencies in both the program and this manual. S~k}ince my knowledge of music-theory is rather weak, I had to set some things by experimenting, and I really don't know how to c~l}all these things in correct English. FunMusic was NOT written for advanced musicians. Beside of this, also my English isn't t~m}he best... WHAT'S ON THE SCREEN Now let's look at the main screen of FunMusic. The screen is divided into several~n} windows. All functions are done by moving the cursor (the small flashing arrow) into a window and pressing the controller's ~o}button ("click"). In the upper part of your screen you can see a large grey window, that allows you to control the basic li~p}ne of your music. Another four windows are below - each of these is connected to one of the four sound-generators of your c~q}omputer. In these windows you'll set the instruments, the background melodies, and also the real-time playing will be done he~r}re. The main settings are at the left edge of the screen. These do affect several things - also in the other windows. ~s} MAIN SETTINGS The main settings are the small fields at the left edge of the screen. The first of them (at the top of ~t}the column) allows you to select number of the sound-channels you want to use. When you select a number less than 4, some of ~u}the sound-channel windows will disappear. The number of voices is of course limited, but you can select from more and better ~v}instruments. The second from the top is the basic tone of the whole music. Set it where you want... It's possible to match~w} the range of used instruments better, by changing this setting. The third setting is the tempo (9 is the fastest). If you~x}'re recording a music to be compiled, it's recommended to set a slower tempo while playing in real-time (to get a better chan~y}ce to click on the single tones exactly in the right time), and then change the tempo before the compilation. The next fie~z}ld is a small picture of a floppy-disk. If you click on this field, the main screen will disappear, and the FunMusic Compiler~{} will begin its work. (Look at the "Compilation" part of this manual.) The last (and largest) field at the bottom of the l~|}eft column shows the configuration of controllers. You can see two joysticks (or mouses), with a symbol of the I/O connector ~}}in the middle. You can connect a joystick or ATARI ST mouse into each of the connectors (the second controller is only used i~~}n the real-time playing mode, when you've selected it for some window). When you start the program, it's configured for two~} joysticks. If you're using mouse(s), just connect it and move a bit - the mouse should appear into the configuration automat~}ically. But however, if you want to change the controllers, you must change the configuration yourself. To correct the config~}, just click on the controller-field. In the case that you can't move the cursor (because of a bad configuration), you can al~}so change the config by pressing numbers "1" or "2" on the keyboard. It's also possible to control FunMusic from keyboard, ~}but this is not very comfortable - it's good just for the first tries, when you've no controller handy at the moment. You sho~}uld disconnect any controllers from the first port, and set it into the joystick mode. Now you can control the cursor with th~}e keys with arrows (or the 1200XL F-keys), and click with the RETURN key. SOUND-CHANNEL WINDOWS Each sound-genera~}tor may be used for a background voice, or for the real-time played melody. To select the mode of a channel, just click on th~}e small field at the left end of its window. You'll see a chip for a background voice, or a face with controller-number for a~} real-time melody. The setting is independent for each channel. The second field from left allows you to select the instru~}ment. At the top of this small field there is a picture of a sine-wave, followed by a number and possibly a letter above the ~}number. The number shows the selected waveform (poly-counter) - in other words the kind of sound (clean/noisy, hard/soft etc.~}). The letter above this number is the mode of sound-channel's clock. (No letter = 8-bit counter, "H" = 8-bit counter with 1.~}79MHz clock, "D" = 16-bit counter.) All you need to do is to click here, until you hear the sound you want. You must know t~}hat the scale of possible modes is affected by the other channels - only two instruments with "H" or "D" may be selected at a~} time, and each "D" require one channel to be removed. (So with 4 channels you can't select any "D", with 3 channels only one~} "D" is possible, and with 1 or 2 channels you can select from the full scale of instruments.) Below the waveform, there is~} the volume-indicator. It allows you to select the volume for the channel (in four steps). At the bottom of this small inst~}rument-field, there is another selection - you can select the instrument-type ("bell" with a stroke, or "trumpet" with soft b~}egin), and length of the sound (larger symbol = longer sound). At the top of the largest part of a Sound-channel window, y~}ou can see a line with some colorful bars. This line shows the scale of tones possible for the selected instrument. The green~} bar is for the best tones, blue is for a bit worse ones, and red tones are rather bad (not exact at the right, or too noisy ~}at the left); the tones shown as a thin line (without of colorful bars) doesn't exist for that instrument. Below the line, ~}there is another bar (yellow) - this is the scale for playing. You can move it by clicking, and so select how high the channe~}ls will play. The yellow bar may run into the thin line a little bit, but since this reduce the scale for playing, it's not r~}ecommended. For the real-time melody, you should select the green tones; for background voices also blue tones are mostly usa~}ble, if you've selected short instrument with low volume. (The red tones are just for the worst case, if you haven't too good~} ear for exact tuning.) On this indicator you'll see what are these "H" and "D" modes good for: "H" moves the possible scal~}e to higher tones, and "D" gives a greatly wide scale of green tones. Below the scale-indicator bars - in the main part of~} a Sound-channel window - two different things may appear. When the channel is switched into the background-voice mode, you~}'ll see the definition of background melody for that channel. Clicking on this field, you can place tones (you'll also hear t~}hem); to remove a tone, click on it again. A channel in the real-time melody mode shows a double horizontal line with gree~}n and blue bobs. When you click into this field, the real-time playing begins. The cursor(s) appear to these line(s), and you~} can move it only left or right. All the background voices begin to play - the currently played tones are highlighted. Also t~}he upper Basic line window come into life, but about this I'll talk later. Clicking on the bobs, you can play tones of your~} melody. (The last played tone is indicated by a large yellow bob above the line.) The green bobs are good for long and signi~}ficant tones, while the blue ones are just to run-over. At the begin of each background period, a tone is played even if you ~}didn't click. If there are more real-time melodies, some bobs may disappear sometimes to prevent collisions between the melod~}ies. To stop the real-time playing, you should move the cursor far away to left, and click somewhere in the Main settings a~}rea. Another way to exit from the real-time playing is to press the ESC key. BASIC LINE WINDOW The grey Basic lin~}e window looks like the sound-channel windows a bit. It does control changes of the scale for playing - just try it and you'l~}l hear what I mean... Also this window may be switched to any of the two controllers, or into automatic mode, just like the s~}ound-channel windows (the small field at the left end). In the automatic mode, you can define the line of your music in the~} same way as the background melodies (clicking in the main part of the window). After placing a point in the Basic line windo~}w, the background voices will play for a while (so you'll hear the effect of your selection - It'll play till the next click,~} or till the whole background-period is finished). When the Basic line window is switched to a controller, the real-time pl~}aying begins once you click here. (It'll also begin when you click on the empty field second from left - the Arrow-field - th~}is is the way how to enter the real-time playing, when you've all channels in the background mode.) In the real-time playi~}ng mode, the Basic line window become empty (when it's switched to a controller of course), and you can select the background~} changes by moving your controller up/down. An arrow will appear into the second field from left, showing your command; at th~}e begin of the next background-period, the scale will be changed (and the arrow will disappear). Your background-line will be~} recorded into the window, so you can later use (and edit) it in the automatic mode. COMPILATION The music played~} in the real-time mode is allways recorded into a memory-buffer (the capacity is 64 background-periods - that's two times ove~}r the Basic-line window - later the music isn't recorded anymore). When you like the music you've just played, you can compil~}e it to be used in your own programs. Only whole blocks will be compiled (4 background-periods each - see the vertical lines ~}in the Basic line window). Before the compilation, you can change the tempo. This is the only thing you can change at this ~}point - other changes have no effect to the recorded music, and some changes even erase it (all changes that affect instrumen~}ts, scales, and channel-modes). To compile your music, click to the picture of a floppy-disk at the left edge of the scree~}n. Now the colorful main screen disappears, and a common blue text-page returns for a while. You've just entered the FunMusic~} Compiler. Now you must enter (from keyboard) the memory-address, where the music will work in your program (more about thi~}s later), and the filename (use the DELETE key for corrections). Then, the music will be stored into the specified file (in t~}he form of a program-module), and the main screen of FunMusic returns. While editing the address and filename, you can hear~} your music - exactly the same as it'll be in your program. If you want to return to the main screen (the music isn't what yo~}u expected...), just press ESC. In the Compiler, there are also two special "hot-keys": CONTROL+X allows you to reset all s~}ettings to the default (the same effect as loading the FunMusic program again), and with CONTROL+Q you can leave FunMusic an~}d return to DOS. Both the functions contain the well-known question "Are you sure?". MUSIC IN BASIC-PROGRAMS If y~}ou want to use the music for a program in AtariBasic or TurboBasic, you'll probably place the music-module to the upper part ~}of memory. In the FunMusic Compiler, try to type the address $9000 ($B000 for TurboBasic), but don't press RETURN and look ~}at the ending address shown beside. When it is lower than $A000 ($C000 for TurboBasic), everything is OK. In the case that it~} is not lower, try to change the address to $8000 ($A000), or even $7000 ($9000). Once the ending address is OK, remember the~} starting address, and continue with the compilation. (If you want to start your Basic-program again after pressing the RESET~}-key, without of re-loading of the music module from disk, then the ending address must be lower than $9C20 ($BC20 for TurboB~}asic).) In your Basic-program, you must first reserve a part of memory for the music-module. The reservation must be done ~}again when you restart the program after RESET. It looks like this:POKE 106,x : GRAPHICS y You can select any graphics m~}ode, but the "x" value depends on the address of the music module: $7000 -> 112 $8000 -> 128 $9000 -> 144 $~}A000 -> 160 $B000 -> 176 (The value must be allways a multiple of 16, otherwise you may encounter problems with displ~}aying some graphics modes.) The next step is loading of the music module into memory. There are several ways how to do thi~}s. In the TurboBasic you should type:BLOAD "D:filename" In the AtariBasic there isn't any command like this. If you're u~}sing BW-DOS, or SpartaDOS, you can type:CLOSE #1:XIO 40,#1,4,128,"D:filename" Possibly it'll work also with MYDOS, but t~}he correct syntax for this DOS is:CLOSE #1:XIO 39,#1,7,0,"D:filename" Another method is long and slow, but works with an~}y DOS and both the Basic versions:10 OPEN #1,4,0,"D:filename":GET #1,A:GET #1,B:IF A<255 OR B<255 THEN ? "ERROR":END20 GET~} #1,A:GET #1,B:PLAY=A+256*B:GET #1,A:GET #1,B:C=A+256*B30 FOR A=PLAY TO C:GET #1,B:POKE A,B:NEXT A:CLOSE #1 There are als~}o other methods (fast and universal, with a subroutine in machine code), but the length of this manual is limited... When ~}you've the music-module loaded in memory, you can use the commands:A=USR(address,1) ... Start the musicA=USR(address,0) ..~}. Stop the music The "address" is the same as you've used in the FunMusic Compiler. In TurboBasic, you can type for exampl~}e "$A000" just like you did in the Compiler, but in AtariBasic you must use the decimal mode: $7000 = 28672 $8000 = 3276~}8 $9000 = 36864 $A000 = 40960 $B000 = 45056Note: The music may be started again (that is: from its begin) without of~} stopping it, and also stopping the music twice isn't error. When no parameter is after the address, the music will stop; any~} extra parametetrs will be simply ignored.For more advanced programmers: The music-module works only when the system VBI ro~}utine isn't disabled. It uses the VVBLKD vector ($224,5). The music-module works also together with other routines installed ~}in that vector, but you can't change the address when the music is playing (stop it first). If you want to install VBI-rout~}ines with music playing, you must allways jump to the previous address (the music) at the end of your routine. In this case, ~}the VBI-routine of music-module will not be removed when you stop the music, so don't overwrite the module! MUSIC IN~} ASSEMBLER The music-module is stored as a binary file. At the begin, there are a few things for you:PLAYER+0 ... The ro~}utine for BASICPLAYER+3 ... InitializationPLAYER+6 ... VBI routinePLAYER+9 ... Volume (4 bytes) You need to call the i~}nitialization first (JSR PLAYER+3), with the parameter (1=Start 0=Stop) in the register A. The VBI routine should be called (~}JSR PLAYER+6) 50 times in a second. At the address PLAYER+9 you'll find the volume for all 4 channels (Read only!) - for the ~}case that you want to create a kind of equalizer-graphics. An other way is to call the player in the same way as from Basi~}c:MUSICON LDA #1 ;The parameter PHA LDA #0 ;High byte PHA LDA #1 ;Number of para~}ms. PHA JMP PLAYER In this case the player will install/remove its own VBI routine. ;Number of para|l F u n M u s i c ================ Autor: BEWESOFT VOD FunMusic je program}, kter` umo(uje snadno hr*t jednoduchou hudbu na po')ta')ch ATARI XL/XE. Ovl*d* se pomoc) joysticku nebo my&i od ATARI ST v}@ele doporu'uji$. FunMusic nevy(aduje prakticky (*dn[ znalosti hudebn) teorie jen trochu citu$. Posta') trocha trp%livosti a} tento n*vod. Hudbu lze tak[ kompilovat pro pou(it) ve vlastn)ch programech. Tady ale mus)m upozornit, (e FunMusic NEN opr}avdov` hudebn) editor. Kdo um) komponovat dobr[ melodie nap@. v MUSIC PROTRACKERu 2.4 nebo CHAOS MUSIC COMPOSERu, m%l by se t}oho dr(et - dos*hne mnohem lep&)ch v`sledk+. Komu to ale s "opravdov`mi" hudebn)mi editory nejde, tomu FunMusic nab)z) jednod}uchou mo(nost, jak snadno vytvo@it alespo pr+m%rn[ hudebn) d)lko. FunMusic je Freeware - program je mo(n[ libovoln% kop)r}ovat, p@ed*vat dal&)m osob*m doporu'uji$ atd., ov&em pouze v p+vodn) podob% beze zm%n$. Pozn*mka: Hudebn)ci mo(n* najdou} jak v programu, tak i v n*vodu n%jak[ nedostatky. Moje znalosti z hudebn) teorie jsou dost slab[, tak(e musel mnohde poslou(}it experiment - opravdu nev)m, jak se n%kter[ z t%ch v%c) spr*vn% naz`vaj). Program FunMusic NEBYL vytvo@en pro pokro'il[ hud}ebn)ky. ROZD LEN OBRAZOVKY Nejd@)ve se pod)v*me na z*kladn) obrazovku. Jak vid)me, je rozd%lena na n%kolik oken.} Vid)me tak[ kurzor mal* blikaj)c) &ipka$ - ve&ker[ funkce se prov*d%j) po nastaven) tohoto kurzoru na p@)slu&n` symbol stis}kem tla')tka na ovlada'i tzv. kliknut)$. Naho@e vid)me velk[ &ed[ okno, kter[ ovl*d* z*kladn) linii skladby. Pod n)m jsou }dal&) 'ty@i okna, kter* odpov)daj) 'ty@em zvukov`m kan*l+m po')ta'e. Tady budeme vyb)rat n*stroje, zapisovat doprovodn[ melod}ie, nebo hr*t. Na lev[m okraji obrazovky jsou z*kladn) parametry, kter[ maj) vliv na mnoh[ v%ci ve v&ech oknech. Z}KLADN PARAMETRY Najdeme je na lev[m okraji obrazovky v podob% n%kolika men&)ch pol)'ek. Prvn) z nich shora$ ur'uje po'e}t zvukov`ch kan*l+, kter[ budeme pou()vat. Zvol)me-li ')slo men&) ne( 'ty@i, n%kter* z oken zvukov`ch kan*l+ zmiz). Po'et hla}s+ je pak samoz@ejm% men&), roz&)@) se ov&em nab)dka n*stroj+. Na druh[m m)st% shora je z*kladn) tn - ten a si ka(d` nas}tav) dle libosti... N%kdy m+(e jeho zm%na pomoci k lep&)mu vyu(it) rozsahu zvolen`ch n*stroj+. T@et)m parametrem je tempo }9 je nejrychlej&)$. P@i nahr*v*n) hudby ke kompilaci doporu'uji nejprve zvolit ni(&) tempo abychom se s jednotliv`mi tny s}nadn%ji strefili do rytmu$, a teprve p@ed kompilac) pak nastavit definitivn) rychlost. Dal&) pol)'ko obsahuje obr*zek disk}ety. Pokud na ni klikneme, z*kladn) obrazovka zmiz) a rozb%hne se kompilace viz. d*le$. Posledn) a nejv%t&)$ pole v lev[}m sloupci ukazuje nastaven) ovlada'+. Vid)me zde dva joysticky p@)padn% my&i$, a mezi nimi symbol I/O konektoru. Do ka(d[h}o ze vstup+ lze p@ipojit bu joystick, nebo my& od ATARI ST. Druh` ovlada' se pou()v* jen v re(imu hran), pokud je pro n%kter}[ z oken zvolen. Program je po sv[m spu&t%n) nastaven na dva joysticky. M*-li b`t pou(ita my&, sta') ji prost% p@ipojit do }p@)slu&n[ho vstupu, a trochu s n) pohnout - m%la by se v konfiguraci objevit automaticky. Pokud ale budeme ovlada'e m%nit, mu}s)me se o spr*vn[ nastaven) postarat sami. Zm%nu konfigurace provedeme jednodu&e kliknut)m na p@)slu&n[ pol)'ko, a nebo - kdy}( n*m &patn[ nastaven) br*n) v manipulaci s kurzorem - stisknut)m kl*vesy "1" nebo "2" na kl*vesnici. FunMusic se d* ovl*da}t tak[ pomoc) kl*vesnice, to je ale velice nepohodln[ - tato mo(nost se hod) prakticky jen na orienta'n) vyzkou&en), pokud zr}ovna nen) po ruce (*dn` ovlada'. Nejd@)ve odpoj)me z prvn)ho konektoru cokoliv, co by tam snad bylo p@ipojeno, a pak tento vs}tup nastav)me na joystick. Kurzor pak lze ovl*dat kl*vesami se &ipkami nebo "F..." z 1200XL$, kliknut) se prov*d) RETURNem.} OKNA ZVUKOVCH KANL Ka(d` zvukov` kan*l m+(e b`t pou(it bu pro doprovodn` hlas, nebo pro p@)mo hranou melodii.} Tento v`b%r umo(uje mal[ pol)'ko na lev[m konci ka(d[ho z oken. Pro doprovodn` hlas se tam objev) integrovan` obvod, zat)mc}o pro melodii uvid)me mal` obli'ej s ')slem ovlada'e. Nastaven) je nez*visl[ pro ka(d` kan*l. Druh[ pol)'ko zleva slou() k} v`b%ru n*stroje. V jeho horn) '*sti vid)me malou sinusovku, vedle ')slo a nad n)m n%kdy je&t% p)smeno. )slo ozna'uje zvolen}ou barvu zvuku poly-')ta'$, p)smeno pak vyjad@uje re(im zvukov[ho gener*toru bez p)smena = 8-bitov` ')ta', "H" = 8-bitov` '})ta' s hodinami 1.79MHz, "D" = 16-bitov` ')ta'$. V`b%r prov*d)me jednodu&e opakovan`m kliknut)m, dokud se neozve po(adovan` } zvuk. Je dobr[ v%d%t, (e nab)dku n*stroj+ ovlivuje tak[ nastaven) ostatn)ch kan*l+ - sou'asn% lze zvolit jen dva n*stroje s } "H" nebo "D", a ka(d[ "D" vy(aduje vypnut) jednoho dal&)ho kan*lu. Tak(e p@i 4 kan*lech se "D" ned* pou()t v+bec, p@i 3 kan }*lech m+(eme zvolit jedno "D", a p@i 1 nebo 2 kan*lech je nab)dka kompletn).$ O kousek n)(e najdeme ukazatel hlasitosti, kt }er` n*m umo(n) zvolit hlasitost p@)slu&n[ho kan*lu ve 'ty@ech stupn)ch$. V doln) '*sti pol)'ka se pak skr`v* je&t% jedna v }olba - druh n*stroje "zvon" s ]derem, nebo "trumpeta" s plynul`m za'*tkem$, a d[lka dozvuku v%t&) symbol = del&) dozvuk$.} Na horn)m okraji nejv%t&) '*sti okna se nach*z) vodorovn* '*ra s barevn`mi pol)'ky. Ukazuje n*m rozsah tn+ existuj)c)ch pr}o zvolen` n*stroj. Zelen% se zobrazuj) nejkvalitn%j&) tny, mod@e ty o tro&i'ku hor&), a 'erven[ tny jsou sp)&e mizern[ vpr}avo pon%kud rozlad%n[, vlevo bru'iv[$. Tenk* '*ra odpov)d* tn+m, kter[ pro dan` n*stroj neexistuj). T%sn% pod touto 'arou }je dal&) podlouhl[ pol)'ko - (lut[ - kter[ zn*zoruje rozsah zvolen` pro hran). Kliknut)m ho m+(eme posouvat, a tak zvolit ja}k vysoko maj) jednotliv[ kan*ly hr*t. Zvolen` rozsah m+(e m)rn% p@esahovat i na tenkou '*ru, omezuje to v&ak rozsah pro hran)} je lep&) se tomu vyhnout$. Pro melodii se hod) zelen[ oblasti, doprovodn[ hlasy se v%t&inou spokoj) i s modr`mi pro n*stro}j s ni(&) hlasitost) a krat&)m zvukem$; 'ervenou pou(ijeme jen v nouzi pokud nejsme moc citliv) na p@esn[ lad%n)$. Tento u}kazatel n*m jasn% uk*(e, k 'emu slou() ta "z*hadn*" p)smenka "H" a "D" - "H" posunuje rozsah n*stroje nahoru, a "D" d*v* velk}[ mno(stv) kvalitn)ch "zelen`ch" tn+. Pod ukazatelem rozsahu - v hlavn) '*sti okna - se mohou objevit dv% r+zn[ v%ci. Slo}u()-li kan*l pro doprovodn` hlas, objev) se definice doprovodn[ melodie. Kliknut)m m+(eme zapisovat nov[ tny kter[ rovnou t}ak[ sly&)me$; chceme-li tn zru&it, klikneme na n%j znovu. Kan*l pro melodii n*m uk*(e dvojitou vodorovnou '*ru se zelen`m}i a modr`mi te'kami. Pokud sem klikneme, p@ejdeme do re(imu hran). Na zm)n%n[ '*@e ev. '*r*ch, je-li p@)mo hran`ch hlas+ v)c}e$ se objev) kurzor kurzory$, kter`m lze pohybovat pouze vodorovn%. Doprovodn[ hlasy za'nou hr*t, p@i'em( pr*v% hran[ tny j}sou zv`razn%ny. Tak[ horn) okno z*kladn) linie$ o(ivne - o tom pozd%ji. Kliknut)m na jednotliv[ te'ky te m+(eme hr*t svou} melodii p@edchoz) tn n*m v(dy ukazuje v%t&) (lut* te'ka nad 'arou$. Zelen[ te'ky jsou vhodn[ pro dlouh[ a d+le(it[ tny, z}at)mco modr[ slou() jen jako p@echodov[. Na za'*tku ka(d[ho taktu program zahraje tn i v p@)pad%, (e ke kliknut) nedo&lo. Po}kud je p@)mo hran`ch melodi) v)ce, n%kter[ te'ky 'as od 'asu miz), aby tak zabr*nily koliz)m mezi melodiemi. Re(im hran) op}ust)me bu kliknut)m daleko na lev[ stran% kdesi v prostoru z*kladn)ch parametr+$, nebo stisknut)m kl*vesy ESC. OKN }O ZKLADN LINIE ed[ okno z*kladn) linie se trochu podob* okn+m zvukov`ch kan*l+. Ovl*d* zm%ny doprovodn`ch akord+ - kdo !}nev), co m*m na mysli, a si to vyzkou&)... Tak[ tohle okno se d* v mal[m pol)'ku na lev[m konci p@epnout bu na n%kter` z ov"}lada'+, nebo do automatick[ho re(imu. V automatick[m re(imu zapisujeme linii stejn`m zp+sobem, jako jsme jinde sestavovali #}doprovodn[ melodie - kliknut)m um)st)me zna'ku, druh`m ji zru&)me. Po jej)m um)st%n) budou chvilku hr*t doprovodn[ hlasy, ab$}ychom sly&eli v`sledek proveden[ volby. Potrv* to do dal&)ho kliknut), nebo do konce taktu.$ Pokud je okno p@epnut[ na n%kt%}er` z ovlada'+, kliknut)m p@ejdeme do re(imu hran) stejn% tak i p@i kliknut) na druh[ pol)'ko zleva prostor pro ipku$ - ta&}k p@ech*z)me do re(imu hran), jestli(e m*me v&echny kan*ly p@epnut[ na doprovodn[ hlasy$. Je-li okno z*kladn) linie v ru'n'})m re(imu, na za'*tku hran) se vypr*zdn). Zm%ny doprovodu prov*d)me pohybem ovlada'e nahoru a dol+. P@i tom se ve druh[m pol)(}'ku zleva objev) ipka potvrzuj)c) povel$; na za'*tku dal&)ho taktu se podle toho pozm%n) doprovod a ipka zmiz). Doprovodn*)} linie se zaznamen*v* do horn)ho okna, kde ji lze pozd%ji pou()t i upravovat$ v automatick[m re(imu. KOMPILACE V*}&echno, co zazn) v re(imu hran), se automaticky ukl*d* do pam%ti po')ta'e. Kapacita tohoto z*znamu je 64 takt+ - to je dvakr+}*t cel[ okno z*kladn) linie - pozd%ji se ji( hudba neukl*d*.$ Pokud se n*m l)b) melodie, kterou jsme pr*v% dohr*li, m+(eme ji,} zkompilovat pro pou(it) ve vlastn)ch programech. Kompiluj) se v(dy pouze cel[ bloky po 'ty@ech taktech svisl[ '*ry v horn)m-} okn%$. P@ed kompilac) m+(eme p@)padn% je&t% upravit tempo. To je v tuto chv)li jedin[, co se d* zm%nit - jin[ zm%ny nemaj).} na z*znam bu (*dn` vliv, nebo ho zcela zru&) zm%ny t`kaj)c) se n*stroj+, rozsah+ a re(imu zvukov`ch kan*l+$. Kompilaci /}zah*j)me kliknut)m na symbol diskety na lev[ stran%. M)sto r+znobarevn[ z*kladn) obrazovky se n*m objev) norm*ln) modr* texto0}v* str*nka a rozb%hne se kompil*tor. Tady je t@eba zadat z kl*vesnice$ adresu v pam%ti, na kter[ hudebn) modul pob%() v na1}&em programu viz. t[( d*le$, a n*zev souboru. Opravy prov*d)me kl*vesou DELETE.$ Melodie se ulo() do ur'en[ho souboru jako 2}hotov` programov` modul, a pak se vr*t) z*kladn) obrazovka FunMusic. B%hem editace adresy a n*zvu souboru po')ta' p@ehr*v* 3}zaznamenanou hudbu - p@esn% tak, jak bude nakonec zn)t v na&em programu. Pokud nejsme spokojeni, m+(eme se vr*tit k z*kladn) 4}obrazovce kl*vesou ESC. V kompil*toru m*me k dispozici je&t% dv% speci*ln) kombinace: CONTROLX vrac) v&echny parametry do 5}z*kladn)ho stavu jako by byl cel` program spu&t%n znovu$, a CONTROLQ slou() k opu&t%n) programu n*vrat do DOSu$. Ob% funkc6}e maj) je&t% bezpe'nostn) dotaz. HUDBA V BASICu P@i pou(it) hudby v Basicov`ch programech obvykle d*v*me hudebn) 7}modul do horn) '*sti pam%ti. V kompil*toru proto zkus)me zadat adresu 9000 pro TurboBasic B000$, zat)m v&ak nema'k*me RETU8}RN, ale zkontrolujeme koncovou adresu vedle. Pokud je ni(&) ne( A000 pro TurboBasic C000$, m+(eme b`t spokojeni. V opa'n[m9} p@)pad% vyzkou&)me adresu 8000 A000$, nebo dokonce 7000 9000$. Kdy( koncov* adresa vyhovuje, zap)&eme si pou(itou po'*:}te'n) adresu, a m+(eme pokra'ovat zad*n)m n*zvu atd. Pokud chceme Basicov` program po stisknut) RESETu znovu spou&t%t bez op;}akovan[ho na')t*n) hudebn)ho modulu z diskety, mus) b`t koncov* adresa ni(&) ne( 9C20 pro TurboBasic BC20$.$ V Basicov[<}m programu mus)me nejd@)ve vyhradit pot@ebnou '*st pam%ti pro hudebn) modul co( je t@eba opakovat v(dy po stisknut) RESETu$.=} Nap@)klad takto:POKE 106,x : GRAPHICS y Grafick` re(im m+(e b`t kter`koliv, hodnota "x" ov&em z*vis) na adrese hudebn)h>}o modulu: 7000 -> 112 8000 -> 128 9000 -> 144 A000 -> 160 B000 -> 176 V(dy se mus) jednat o n?}*sobek &estn*cti, jinak se budou n%kter[ grafick[ re(imy zobrazovat chybn%.$ Dal&)m krokem je zaveden) hudebn)ho modulu do@} pam%ti, co( lze prov[st n%kolika zp+soby. V TurboBasicu by m%l b`t pou(it p@)kaz:BLOAD "D:n*zev" V norm*ln)m AtariBasicA}u takov` p@)kaz bohu(el nen). Pokud pou()v*me BW-DOS nebo SpartaDOS, m+(eme ps*t:CLOSE #1:XIO 40,#1,4,128,"D:n*zev" V%t&B}inou to funguje i pro MYDOS, form*ln% spr*vn` z*pis je v&ak pod MYDOSem trochu odli&n`;CLOSE #1:XIO 39,#1,7,0,"D:n*zev" C}Dal&) mo(nost) je 'ist% Basicov[ @e&en). Je sice dlouh[ a pomal[, funguje v&ak s ka(d`m DOSem a pod ob%ma verzemi Basicu:10D} OPEN #1,4,0,"D:n*zev":GET #1,A:GET #1,B:IF A<255 OR B<255 THEN ? "CHYBA":END20 GET #1,A:GET #1,B:PLAY=A256B:GET #1,A:GET E}#1,B:C=A256B30 FOR A=PLAY TO C:GET #1,B:POKE A,B:NEXT A:CLOSE #1 Existuj) samoz@ejm% i jin[ mo(nosti rychl[ a univerz*F}ln), s pou(it)m podprogram+ ve strojov[m kdu$, to u( ale jde nad r*mec tohoto n*vodu. Kdy( m*me hudebn) modul zaveden` v G}pam%ti, m+(eme pou()vat n*sleduj)c) p@)kazy:A=USRadresa,1$ ... Spu&t%n) hudbyA=USRadresa,0$ ... Zastaven) hudby Pou(iH}t* "adresa" bude samoz@ejm% stejn*, jako p@i kompilaci. V TurboBasicu m+(eme zapsat rovnou nap@. "A000" jako v kompil*toru$I}, pro AtariBasic v&ak mus)me adresu p@ev[st do des)tkov[ soustavy: 7000 = 28672 8000 = 32768 9000 = 36864 A000 J}= 40960 B000 = 45056 Pozn*mka: Opakovan[ spu&t%n) hudby t.j. od za'*tku$ bez p@edchoz)ho zastaven) je p@)pustn[, podobK}n% ani opakovan[ zastaven) nen) chybou. Jestli(e chyb) parametr, hudba se zastav), p@)padn[ parametry nav)c se ignoruj). PL}ro pokro'ilej&) program*tory: Hudebn) modul pou()v* p@eru&en) VBI - vektor VVBLKD 224,5$ - kter[ samoz@ejm% nesm) b`t u(ivaM}telsk`m programem zak*zan[. Spolupr*ce s jin`mi rutinami, kter[ pou()vaj) zm)n%n` vektor, je mo(n*, pokud jsou instalov*ny p@N}ed spu&t%n)m hudby, a adresa se nem%n) a( do jej)ho zastaven). Jestli(e m* b`t n%jak* VBI-rutina instalov*na p@i b%()c) hudb%O}, mus) na sv[m konci zajistit skok na p+vodn) adresu hudba$. V tomto p@)pad% se p@i zastaven) hudby p@ehr*vac) rutina z VBI P}neodstran) - hudebn) modul pak nelze ni')m p@epsat! HUDBA V ASSEMBLERU Hudebn) modul je ulo(en jako norm*ln) bin*Q}rn) segmentovan` soubor. Na za'*tku nejdeme n%kolik d+le(it`ch adres:PLAYER0 ... Rutina pro BASICPLAYER3 ... InicializacR}ePLAYER6 ... Rutina VBIPLAYER9 ... Hlasitost 4 byte$ Nejd@)ve zavol*me inicializaci JSR PLAYER3$, p@i'em( parametrS} 1=Start 0=Stop$ ulo()me do registru A. Rutinu VBI je t@eba volat JSR PLAYER6$ vcelku libovoln`m zp+sobem 50x za vte@inu. T}Na adrese PLAYER9 najdeme v(dy moment*ln) hlasitost v&ech 'ty@ kan*l+ nem%nit!$, co( se m+(e hodit pro n%jak[ grafick[ vyj*U}d@en). Jinou mo(nost) je volat modul stejn%, jako z Basicu:MUSICON LDA #1 ;Parametr PHA LDA #0 ;V}Horn) byte$ PHA LDA #1 ;Po'et parametr+ PHA JMP PLAYER V tomto p@)pad% p@ehr*va' naW}instaluje svoji vlastn) rutinu do p@eru&en) VBI.arametr+ PHA JMP PLAYER V tomto p@)pad% p@ehr*va' na3+ 1l * * J  ̭`GMDJҍY}ΉHI⩢Ί!ZҠӤHҹҎHHH@)@)0HFy`/5/xP<5Z}<5EkZG<,55PA?<ZxG<HPg'   . 0 PH܋[}(xxZxx kZk_PZס`xx_G__Pk<%@p  ('4\}( ܅ ݸ&p(   7 79 91111?NyHF]}pAY(2 ` X _}qq@ |Ȇw@ -P%ŋ^}  Ko (Є> (22 $: &$$ tͅ0T<ώp( (6 4 C  ; _}//(6) ' UM )-م-)7-IA7 uu  )`})uu47%,#/-%4hi s]%!39$%-/B\from!"%3/&4yݰ22#(2)34-!.$(!0R0.9r2toalla}mygiend0acontactd\14hdehmpbab@ltheshortest)ver^a!`y8ou`Vee jquitkraߤbb|fimpQhNarnZgvhb}20t Xk aeDmbefch^rjt(DYyr 3 `w4ingjau}piec\&of tu cPob quicRkwbtt un4r!4-!3))[V7rhjSRcase>>Ӌc}өd!s/&ba^grfDojthiscllNonfomblu8s#-ayqbηink5itLjus BcosqbFu)m:eHsurfac8of;wz I) tdd}e8trZyfromǘ\on"or=Oo@seh@iJedX2h8maܿBvrUcirclWcauО6bLrain !s8xob jectf?g$OFQQ7ofxr$Za9knpr< e}keys&.5-"%23|)~ens>it*%%"30!#%3cr`o0Q/./&J&-3:nxd,4!"#o&7Rhc yanp/trwusgajoystf}ick{ 'reiespo"&ddyf8fe&2!}.+%.34%) (44!""5#%rhard0uvzawel+1alski0)28/52 /&4omas4at(%2-%3ыg}2ezle*icht:"uri!an&,/0$NkrvkaBm2prot&dҾicefontjvnou2/-kyMG,CennEE,azaidb !ndallh}Bhs)vHL.rg"tg##rets-odax@b""%7%3/!&4&onـ!4!2)|prom2/-3ouNigin #054%2-!')#( m8ifikCCi}C}'raphicsѣbuthatjusaew$&q"(ec\;eyeBis</hpf0ex\gett~gqui:Jolo!C lfoEprogramX|Tj}l*)m>us|77I]%.$:&4%84\@LõO MOPЀİMO@p|pMO0X`LAAA@AAAAk}@AAAA@AAAAA@AAAA@AAAA@AAAAA@AAAA@AADATo: "All about Atari beast an' even more..." Subject: Si|}frovani souboruDate: Wed, 17 Dec 1997 15:19:32 MET-DST Pokusim se zde popsat metodu sifrovani souboru na Atari 800/130.}} Soubor je mozne sifrovat nejjednoduseji tak, ze kazdy jeho byte zvysime o totez cislo a takto vznikle cislo pripadne je~}ste upravime odectenim 256, aby se veslo do potrebneho rozsahu. Pri desifrovani od kazdeho bytu odecitame tutez konstantu a} opet upravujeme na potrebny rozsah (+256 u zapornych cisel). Takto sifrovany soubor se vsak da pomerne snadno rozlustit}. Staci vyzkouset postupne konstanty 1 az nejvyse 255, treba jen na cast souboru. Pokud jde o spustitelny binarni soubor, s}taci najit takovou konstantu, aby prvni dva byty byly desifrovany jako 255 a 255, coz je poznavaci znameni tohoto typu soub}oru. U textoveho souboru by se poznalo nalezeni spravne konstanty podle velkeho vyskytu pismen a mezer a aspon castecne sro}zumitelnosti slov. U nekterych pocitacu se da ovladat generator nahodnych cisel (napriklad prikazem Randomize) tak, ze p}ro stejny zaklad dostaneme vzdycky stejnou posloupnost cisel. Kazde nasledujici nahodne cislo je vypocitano z predchoziho, }neodecita se z zadneho casovace jako u Atari. Na takovem pocitaci pak muzeme napsat sifrovaci program, ktery k jednotlivym }bytum souboru nepricita konstantu, ale ruzna cisla z generatoru nahodnych cisel, spusteneho od urciteho zakladu. Navic zakl}adu muze byt mnohem vic nez konstant, takze takto sifrovany soubor uz se neda jen tak snadno rozlustit. Ve svem postupu }jsem jako generator nahodnych cisel pouzil jednoduchy multiplikativni algoritmus. Nasledujici cislo se z predchoziho vypoci}ta jeho vynasobenim nejakou konstantou (nejvhodnejsi je cislo 83) a naslednym odstranenim celociselne casti tohoto soucinu.} Vychozi hodnotu pro generator nahodnych cisel program vypocita z hesla, ktere muze byt 2 az 10 znaku dlouhe a muze obsahova}t libovolne znaky krome Backspace, Return a CHR$(0), podle vzorce R0=SQR(C/(128*D*(D+1))), kde C je soucet soucinu ASCII-ko}du jednotlivych znaku a jejich poradovych cisel a D je pocet znaku hesla. Vyraz za lomitkem je navrzen tak, aby byl vzdycky} vetsi nez C, a odmocnina zvysuje pocet desetinnych mist v cisle. Program muze vypadat napriklad takto: 1 REM Sifrator} 2 H$(10),KH$(10),ZDROJ$(15),CIL$(15),SD$(1) 3 PRINT "Zadejte heslo : ";:GOSUB 20 4 H$=KH$ 5 PRINT "Kontrola hesla: ";:GO}SUB 20 6 IF H$<>KH$ THEN PRINT "Chyba pri zadavani hesla!":GOTO 3 7 C=0:D=LEN(H$):FOR A=1 TO D:C=C+A*ASC(H$(A,A)):NEXT A: } R0=SQR(C/(128*D*(D+1))):R=R0 8 PRINT "(S)ifrovat, nebo (D)esifrovat";:INPUT SD$ 9 IF SD$<>"S" AND SD$<>"D" THEN PRINT "S }nebo D, prosim.":GOTO 810 PRINT "Zdrojovy soubor";:INPUT ZDROJ$11 PRINT "Cilovy soubor ";:INPUT CIL$12 IF ZDROJ$=CIL$ THE}N PRINT "Soubory musi byt ruzne!":GOTO 1013 OPEN #1,4,0,ZDROJ$:OPEN #2,8,0,CIL$:TRAP 1514 GET #1,A:A=A+((SD$="S")-(SD$="D")})*INT(256*R):A=A+256*(A<0)-256* (A>255):PUT #2,A:R=83*R-INT(83*R):GOTO 1415 CLOSE #1:CLOSE #216 IF PEEK(195)=136 THEN P}RINT "Hotovo!":END17 PRINT "Doslo k chybe ";PEEK(195):END20 REM Heslo21 KH$="":N=0:OPEN #3,4,0,"K:"22 GET #3,A:IF A=0 THE}N 2223 IF A=126 OR A=155 THEN 2524 IF N<10 THEN PRINT "*";:N=N+1:KH$(LEN(KH$)+1)=CHR$(A):GOTO 2225 IF A=126 AND N>1 THEN P}RINT CHR$(A);:N=N-1:KH$=KH$(1,N):GOTO 2226 IF A=126 AND N=1 THEN PRINT CHR$(A);:N=0:KH$="":GOTO 2227 IF A=155 AND N>1 THEN }2928 GOTO 2229 CLOSE #3:RETURN.TO 2226 IF A=126 AND N=1 THEN PRINT CHR$(A);:N=0:KH$="":GOTO 2227 IF A=155 AND N>1 THEN #CZECH CONVERT 2.5V*(en) 'ten*@i,jak jem sl)bil v d*vn`ch 'asech vyd*n) prvn) public domain verze sv[ho programu Czech Co}nvert 2.0, p@ich*z)m s novou verz) tohoto programu pod ozna'en)m 2.5. Pro 'ast[ u(ivatele p+vodn) verze zajist[ posta') kr*tc}e zm)nit, (e nov* verze m* p@id*ny dva u(ite'n[ konverzn) form*ty, vy@e&il jsem problematiku konce @*dk+, provedl jsem z*sah }do konverzn) rutiny s c)lem urychlen) p@evodu a pokusil jsem se odstranit n%kolikero men&)ch chyb.Dal&) '*st textu zam%@)m }na 'ten*@e, kte@) s m`m programem z r+zn`ch d+vod+ dosud nepracovali nebo pracovali ne p@)li& 'asto. Program Czech Convert 2.}5, jak ji( n*zev napov)d*, slou() ke konvertov*n) znak+ s 'eskou diakritikou v textov`ch souborech mezi r+zn`mi zn*m`mi kdov}*n)mi. Pro 'ast[ dotazy a nedorozum%n) pro jistotu zd+razn)m, (e nejde o komplexn) konverzi v&ech znak+ r+zn`ch kdovac)ch ta}bulek, ale pouze o konvertov*n) znak+ s 'eskou diakritikou. Konkr[tn% jde o tyto znaky: "*, ', , [, %, ), , , @, &, , +, }], `, (". Prozat)m tedy nepot%&)m slovensk[ kolegy ani 'ast[ u(ivatele n%meck`ch p@ehlasovan`ch souhl*sek, nebo jejich za@az}en) do m`ch tabulek dosti komplikuje nejednota znakov`ch sad u r+zn`ch verz) apka.Vinou existence v)ce druh+ kdov*n) 'e&t}iny a odli&nost) v ukon'ov*n) @*dk+ je stav, kdy pokud n%kdo za'al ps*t na po')ta'i 'esky n%jak` text, musel se rozhodnout n}ebo to za n%j u'inil autor programu$, v jak[m kdov*n) chce sv+j v`tvor uchovat. V`sledkem je, (e dnes m*me gigabyty 'esk`ch }text+ ne'iteln`ch vz*jemn% nejen mezi r+zn`mi po')ta'i, ale n%kdy i mezi r+zn`mi programy na t[m(e po')ta'i, a to i pod stejn}`m opera'n)m syst[mem. Z tohoto d+vodu jsem vid%l jako velmi prosp%&n[ napsat program, kter` dok*(e textov` soubor vytvo@en` }pro ur'it[ kdov*n) 'e&tiny p@ev[st na soubor v jin[m kdov*n).Napsat program na p@evod 'e&tiny nen) samoz@ejm% n*pad origi}n*ln), ale jist* specifika v m[m p@)pad% p@ece jen m*. Hlavn)m d+vodem m[ akce byla skute'nost, (e v dob% jeho vzniku, ale vp}odstat% dodnes mi nen) zn*m* existence konvertoru, kter` by m%l zabudov*no kdov*n) apka a tolika r+zn`ch jin`ch kdov*n) na}jednou. Nesm)m zde sice opomenout existenci vynikaj)c)ho konvertoru Husita 2.0 pro Atari ST a Falcon od bratr+ K@iv*nkov`ch z} Plzn%, kter` m* mo(nost p@idat dal&) kdovac) tabulky tedy teoreticky i apka$ u(ivatelem, ale tabulka pro apka v z*kladn)}m bal)ku nebyla alespo jsem vyu(il t%ch ostatn)ch pro tvorbu Czech Convertu$. Dal&)m faktorem, kter` hovo@) pro u()v*n) m[h}o produktu, je skute'nost, (e tento konvertuje od verze 2.5 i konce @*dk+, kter[ jsou na Atari XL a XE @e&eny ]pln% jin`m zp+}sobem, ne(-li je tomu u po')ta'+ Macintosh, PC, ale i Atari TOS kompatibiln)ch, p@i'em( tuto konverzi nenab)z) ani Husita.K}onkr[tn) peripetie vzniku m[ho konvertoru byly n*sleduj)c): Zden%k Burian mne kdysi po(*dal o p@eveden) n%jak[ho textu z Atar}i na PC. Mn% velice vadilo, (e zde nebyla mo(nost konverze 'e&tiny, a tak jsem se jal, maj)c v t[ dob% je&t% relativn% dost v}oln[ho 'asu, napsat vlastn) program Czech Convert. Verze 1.0 m%la velice pomalou hlavn) konverzn) rutinu, a proto j) trvalo p}@eveden) zadan`ch soubor+ cca 30 kilobyt+$ cel` den a p+l! Tento v`sledek mne p@irozen% neuspokojil, a proto jsem o asi t`de}n pozd%ji dokon'il verzi 2.0, kter* obsahovala tyt[( vstupn) a v`stupn) form*ty, av&ak mnohem rychlej&) algoritmus. V`kon se }p@evodem kdovac)ch tabulek z data @*dk+ do pam%ov[ matice zv`&il o v)ce ne( 1000 procent a stejn` text byl nyn) dokon'en za} dv% a p+l hodiny! To u( bylo posta'uj)c) k poskytnut) m[ho produktu &irok[ ve@ejnosti. Uv%domoval jsem si v&ak nutnost roz&)}@en) sv[ho konverteru do budoucna o kdov*n) jako Macintosh nebo Windows.Ta chv)le pr*v% p@ich*z), nebo dnes uve@ejuji ve}rzi 2.5, a to op%t jako public domain s eklusivn)m pr*vem 'asopisu Flop na p@ednostn) distribuci. Nejen, (e verze 2.5 zm)n%n[} tabulky obsahuje a nav)c m* urychlenou konverzn) rutinu p@eskakovan)m znak+ ur'it`ch netestovan`ch skupin. Jej)m dal&)m velk}`m p@)nosem, jeho( jsem dos*hl za neoddiskutovateln[ podpory Honzy K@upky, je automatick` p@evod konc+ @*dk+ z form*t+ DOS, U}nix, Mac tj. kombinace znak+ 10=LF a 13=CR$ na apka, respektive z form*tu apka tj. znak 30=Return$ na DOS.Nyn) u( snad }k vlastn)mu ovl*d*n) programu. Jeliko( je program naps*n v Atari Basicu, lze jej spustit bu ze samospou&t%c)ho menu nebo p@)}mo z Basicu p@)padn% Turbo Basicu$ p@)kazem RUN, byl-li program p@edt)m na'ten do pam%ti p@)kazem LOAD. Jako v%t&ina m`ch pr}ogram+ se i Czech Convert hl*s) 'ernou obrazovkou s barevn`m blikaj)c)m n*zvem programu uprost@ed. D*le lze postoupit stiskem} kl*vesy START, po 'em( se objev) hl*&ka "Initializing...", kter` zna'), (e program pr*v% prov*d) v`&e zm)n%n` p@evod kdovac})ch tabulek z data @*dk+ do pam%ov[ matice. Po n%kolika sekund*ch se v horn) '*sti obrazovky za'ne po')ta' dotazovat na vstu}pn) soubor sousov)m "Source file:", kde je nutn[ zadat jm[no za@)zen), znak ":" a v p@)pad% disk+ i n*zev souboru, v&e bez me}zer. Po vlo(en) cel[ho @et%zce max. 15 znak+$ a stisknut) kl*vesy RETURN po')ta' polo() obdobn` dotaz opa'n[ho v`znamu "Dest}ination:", tedy specifikace v`stupu, kter` se mus) li&it od specifikace vstupu. V p@)pad% disk+ je vhodn[ p@edem si prov%@it }velikost voln[ho prostoru, p@i'em( lze vych*zet z p@edpokladu, (e c)lov` soubor se nebude p@)li& li&it od zdrojov[ho. Po ]sp%}&n[m zad*n) v`stupu je nutn[ tento op%t potvrdit kl*vesou RETURN, po 'em( po')ta' zobraz) dv% okna slou()c) ke specifikaci vs}tupn)ho lev[ okno$ a v`stupn)ho prav[ okno$ kdov*n). Ob% kdov*n) je nutn[ zadat ru'n% jedn)m z n*sleduj)c)ch zp+sob+: poh}yb kurzoru v podob% ostr`ch z*vorek nahoru a dol+ je mo(n[ prov*d%t &ipkami nahoru nebo dol+ a pro pohyb dol+ lze pou()t i kl}*vesy OPTION. Kl*vesa SELECT, stejn% jako TAB a v p@)slu&n[m sm%ru i &ipky doleva a doprava zap@)'in) zm%nu aktivn)ho okna, c}o( je vyzna'eno inverzn)m nadpisem okna. Kdy( je v`b%r dokon'en a vstupn) form*t nen) shodn` s v`stupn)m, sta') stisknout STA}RT, a, pokud nedojde k n%jak[ chyb%, bude zah*jen p@evod. Tuto skute'nst po')ta' ohl*s) n*pisem "Converting...", p@i'em( tato} procedura m+(e v z*vislosti na d[lce textu trvat a( n%kolik des)tek minut. Po zdlouhav[m 'ek*n) se objev) ok[nko s n*pisem "}Convert Finished". Z n%j lze pokra'ovat kl*vesou START nebo N p@i pot@eb% dal&) konverze, po 'em( se po')ta' vr*t) do program}u za inicializaci. Kl*vesou SELECT nebo R bude vyvol*n studen` start po')ta'e a kone'n% kl*vesa OPTION nebo D zp+sob) p@echod} po')ta'e do DOSu. Nyn) by m%l b`t p@eveden` text ulo(en` na za@)zen) a pod jm[nem zadan`m v DESTINATION a je mo(n[ si jej ta}m prohl[dnout.Douf*m, (e program bude slou(it ku prosp%chu v&ech u(ivatel+ a mohu sl)bit do budoucna dal&) berze, nebo ji(} dnes m*m n%kolik n*pad+ na vylep&en), jejich( realizace by si v&ak vy(*dala pon%kod podstatn%j&) z*sahy do hlavn)ho algoritm}u.Bohdan Milar, 23. 04. 1999&en), jejich( realizace by si v&ak vy(*dala pon%kod podstatn%j&) z*sahy do hlavn)ho algoritm!v{DSIOCSISS@@ } qq******************************* * DATUM VYROBY: 23.04.1999 * *******************************qq}* NAZEV FIRMY: A.S.MORAVIA * ******************************* * JMENO PROGRAMU: CZECHCNV *qq************}******************* * PROGRAMATOR: * * JMENO: BOHDAN MILAR *qq* ADRESA: JIZNI 17, OLOM}OUC * * PSC: 78301 TELEFON: 414638 * ******************************* +@AR@1Af}AXCA@]0@o-@(@ CcH nVt 76-P:H:,$@},76-P:H:,$@,76-P:H:,$@,76-P:H:,$@,00@0}@0@ F:B2y,@@99;@,;@,9@,9@<@0, +}'0@9AR@S0@@h68@,-@}68@,-@6-@}6-@(~-@@ ,(>-@@U(|Initializing ...|g-@@~(}2R-@@0##A%'";-@@?"J68<,-N R d (}ARn}$$( x$$( |CZECH CONVERT v2.5|$$( &(( SOURCE FI}LE: &@&(( DESTINATION: &@4ANAR@'-@@ N(" } **(" |ԠŠ| | OUTPUT TYPE |**("  **(" |>CAP}EK <| | CAPEK |**(" | KAMENICKYCH | |>KAMENICKYCH<|**(" | MACINTOSH | | MACINTOSH |**(" | LA}TIN 2 | | LATIN 2 |**(" | ISO-LATIN 2 | | ISO-LATIN 2 |**(" | SKUROVEC | | SKUROVEC |**(" | K}OI 8 CS | | KOI 8 CS |**(" | CP-1250 WIN | | CP-1250 WIN |**(" | NORMAL + | | NORMAL + |**(" } | NORMAL |"**(" ,c+F:B2y,"@)F:Ad,"@DY6-&@}$+"@,%@$+"@,c A6{C+F:Ad,"@*"@,)+F:Ad,"@*"@,q6-&@}$+"@,%@$+"@,{ A@>F:B2y,"@)F:Ad,"@)F:Ad,"@G6-8,x68,-8},%@&@$+F:Ad,"@, APJ F:B2y,@AT##8@,"8@,A^ A}=AdAU)-@=-@@p#1@%%@$@A-@%%@$@}p(>:%A($+ A(,&A($+!A',,   AAdAU)-@@L68,-8},%@$+8,",68,-8,&@$+8,"@%@$+"@,, _+-@%@$+&@,@%}1( Y-@%@$+&@,@%_( e.-@%@$+&@,@%8,4(>_-@%@$+}&@,@%8,e(< Ax-@@*(<-@@Q(|Converting ...|c}-@@x( A= @@=@@ A})@OO+!@C* @d,)+!@d* @,)+!@* A#,A!R"8@,"@*"@0}5*@@H*@@R A5&V"8@,"@*"@5*@@0B)@V"@}A5+?"8@,"@*"@5*@@0? A50-@@05?"88@,<,2*}@88@,<,5'? A5: D*@N A5@@--@@-(},-@@,(|CONVERT FINISHED|,-@@,(,-@@},(| |EXT TEXT|,-@@,(||ESET CPU|,-@@,(||GO TO OS|--@}@-( 33F:B2y,"@)F:Ad,"@5A=+F:B2y,"@)F:Ad,"@@}=A .+F:B2y,"@)F:Ad,"@X..* A//Z,CAP,KAM,MAC,LAT,ISO,SKU,WIN,KOI,NO+,NOR}..a',42,160,135,160,193,160,225,225,160,97//e',91,130,142,130,215,130,233,233,130,101//e^,37,136,158,216,197,136,}236,236,101,101//i',41,161,146,161,201,161,237,237,161,105//y',96,152,249,236,217,152,253,253,121,121..c^,39,135,}139,159,195,135,232,232,099,99//r^,64,169,222,253,210,169,248,248,114,114//s^,38,168,228,231,211,168,185,154,115,115}//z^,40,145,236,167,218,145,190,158,122,122//uo,43,150,243,133,202,150,249,249,117,117//u',93,163,156,163,213,163,}250,250,163,117//o',15,162,151,162,207,162,243,243,162,111//d^,04,131,147,212,196,131,239,239,100,100//t^,20,159,}233,156,212,159,251,157,116,116//n^,14,164,203,229,206,164,242,242,110,110..A',01,143,231,181,225,143,193,193,065,65}..E',05,144,131,144,247,144,201,201,069,69..E^,13,137,157,183,229,137,204,204,069,69..I',09,139,234,214,233,139,20}5,205,073,73..Y',25,157,248,237,249,157,221,221,089,89..C^,03,128,137,172,227,128,200,200,067,67..R^,18,158,219,2}52,242,170,216,216,082,82..S^,19,155,225,230,243,155,169,138,083,83..Z^,26,146,235,166,250,146,174,142,090,90..Uo},28,166,241,222,234,166,217,217,085,85..U',21,151,242,233,245,151,218,218,085,85..O',11,149,238,224,239,149,211,211,0}79,79..D^,31,133,145,210,228,133,207,207,068,68..T^,29,134,232,155,244,134,271,141,084,84..N^,10,165,197,213,238,}165,210,210,078,78D8:CZCONV25.BAS07,068,68..T^,29,134,232,155,244,134,271,141,084,84..N^,10,165,197,213,238,*