(ɥLl   S8`I  pG w U  3 dRSU 8l eTR'SB  dHIB V8A0T V W FR v w L~x y  3C 3DC 3E 3FEF 3CCDDFCE 0 LlGG v ` )   Dl GHDE BiILVxx{fffffff>`<|fl0fF68of;p88pf< 80 0 ~~`0 }0```nf>ff~fff~~f<flxxlf`````~cwkcc}fv~~nf|~??>~~~~~~~~~~~~ }~UUUU66ww<~~~<x`x`~<~ }~<0~0 ~ 8|>>|>|8|>?`?>~~x||||?>~?>~ }~x|||~~>?|~~|?~~xxx{{~ffff>fff<ck>6f< x~ 0~<~~< }~x|nf8x8|o* **""   "" ""  }  "" " *** "   " "*  }"*PeTTUY}UUU@YYUU@VT@@oj@nnZjꚮ@@oZ@on@PP@@Po}@@PP@@To@jPP@@od[@@P@PP@@~@dj@}@T@ PP@@U~UUdjUV@@UU_PP@@j@@TQP@@UjUPYUW@@}UTdoPP@@oT@@@PP@@o~@@@PjP@@z@@@P}PAP@@ZT@@iVUPP@@{j@@ꮯPP@@joZ@@@G}PP@m@^}@@꯯OPP@@@@پ_׽PP@@@@ʾPP}@@W@@UZ?]PP@@@k@@UUZYPP@@~@@tPP@}@@on@tPP@@ko@UUZPP@@jTj[T@оPP@@}jT@нPP@@iT@A@Po@zT~@[@P@z}}TAJ@P@@oT}@檫P@@o~@骖P@@Pk~}@ꪵTP@Z{}@@$YUPUUUUUUUTTU@U@UUPtYUUUmUUUddUPV@U}UUU@jjj@TPUUUTUUUU@TTUPU@UUU@UUUUU@P@UUT} }@@@@  }@ @@@@ } @UUUUPUUUUUUUUUPUUUUUPUUPU}UUUU@UUUUAUUUUU@UUUTPTUUUUUUUUUTUUPUUUPUPUUPUPUPT }UUUUUUUUUUU@UUUPUUUUT@TU@UUUTUUUUUUU@QPUUTTUUUUUTUTT@UT!}UPUUATUU@U@UU@TUUUUUUUUUUUUUUTUUUUUUUUPPUUUUTUQP"}UUU@TTTAUU@PDDE@T#}DD@@PP@DD@P@UUUUUUP@TTT@UUUUUUUUPUUUUU@RL$}HLCLDKZ05F%}   &}    xrke_ZUPKGC?<852/,*'%#! '}οzqke_\VPMGD><852/-*(%#! yspfaZURKHC?<9730-*(%$! (}yrlf`[UQLHD@<952/-*(%#! 38jjFAn0R"ȠzU4ؽw`N8'ø)}xpjd^ '),,,,, F*}KZ05@12222 +}C^C@ZεCLD,}BBC L_I & & &ii)ڝBBiLDεCCCCB0LDB( )B mHL-}D@}BB mH*@ ILD"B mH)@CLCCDɀ+)?}BBB)@CCC mH*@ ILD )?*@BL^D)?.}BB0LFDB! .F2@=CG}"@$@}     ?}@@}! p pA}!00B}   C}    "  D} ÁŁ   E}   F}      G}UUUU U UUUH}XI}XLh fТ x s0X14i(oXЩvԩo Y. f`8xp0BXB [ [ c m[[Ld.E[}exfiɠ [莩[[[[` [[[JJJJ c[ cLb}d?[I[9.KdLd8fff[ fcfcLd 2-[I[uddLd%S[c}i [ ZfcLdeasy   medium   yftghard   !Ld pc`HЩ h@/`-ultrid}sscorepointseasylinept linespts linespts linesptsmediumlinept linespts linese}pts linesptshardlinept linespts linespts ugphlinesptsand ptsforeachsurviveoverf}otherrivals-ultijoyinterfaceinventionby!tariklub0rostejov -ultrisgameby2adek3terba2aster g}-ultrisscorepointseasylinept lines @h f @qhhh pc` @Lhhhh d X ^ ]Lhh}h-ultrisscorepointseasylinept lines @h f @qhhh pc` @Lhhhh d X ^ ]LhMultrisRadek t%rba, Raster 2001Interface MultiJoy m* za sebou 3 roky sv[ existence, a tak je mo(n* ten prav` 'as p@idat kj} prvn) prototypov[ h@e ervi n%jakou dal&).Multris, jak n*zev napov)d*, je variace na Tetris pro a( 4 sou'asn% hraj)c) hr*'k}e. Po prvotn)ch ]vah*ch o spole'n[ h@e v)ce lid) v jedn[ "studni" jsem tuto variantu opustil. D@)ve 'i pozd%ji toti( za'ne dol}ch*zet k situaci, (e jeden z hr*'+, kter` je v Tetrisu nejslab&), to bude ostatn)m kazit a v&ichni mu budou nad*vat. Tak(e v m}Multrisu m* ka(d` sv+j (l*bek a v n%m hraje s*m za sebe.Vz*jemn` souboj spo')v* v tom, (e je d*no "v)t%zn[ skre" - a kdo jn}ej dos*hne d@)ve, ten vyhr*v*. Pokud n%kdo zapln) svou studnu a( po vrch, odpad* na posledn) m)sto. Hraje se tak dlouho, dokuo}d hraj) alespo dva hr*'i.Dal&)m zpest@uj)c)m prvkem je "pokutov* @ada", kterou dostanou v&ichni va&i soupe@i za ka(d`ch vap}&ich z)skan`ch X bod+ lze nastavit nebo ]pln% vypnout$. Mus)te tedy z)sk*vat body co nejrychleji, jinak v*s protihr*'i vytlaq}') nebezpe'n% vysoko k vrcholu studny, budete m)t m[n% 'asu na ]vahy "kam s padaj)c) kostkou" a lehce vypadnete ze hry.Bodor}v*n):To je asi to nejd+le(it%j&). Je mo(no zvolit t@i typy bodov*n), bu EASY, MEDIUM nebo HARD. V z*vislosti na typu bodovs}*n) a na tom, kolik @ad odbour*te sou'asn%, pak obdr()te: EASY MEDIUM HARD1@ada 1bod 1bod 1bod2@adt}y 2body 3body 3body3@ady 3body 5bod+ 7bod+4@ady 4body 7bod+ 15bod+Jak vid)te, podle typu bodov*n)u} je vhodn[ upravit strategii a nap@)klad p@i HARD se v(dy sna(it pokud mo(no o co nejv)ce @ad najednou - poda@)-li se v*m 4 @v}ady, m*te 15kr*t tolik co za jednu.K celkov`m bod+m se d*le p@i')t* 1000 bod+ za ka(dou p@)'ku ve v`sledn[m po@ad) - to je vw})ce m[n% jen kosmetick* ]prava skre - tyto tis)cov[ sumy zaru') sestupnou posloupnost bodov`ch zisk+ podle kone'n[ho po@ad) x}hr*'+. Ovl*d*n):Parametry zobrazen[ na ]vodn) str*nce m+(ete m%nit stla'ov*n)m p@)slu&n`ch kl*ves.P ...po'et hr*'+ y}2 a( 4$S ...rychlost 1 nejvy&&), 9 nejni(&)$W ...v)t%zn[ skre 10 a( 150$M ...typ bodov*n) 1-2-3-4, 1z}-3-5-7, 1-3-7-15$L ...po'et bod+ pro pokutov[ @ady --, 15, 20, 25, 30, 50$T ...typ pokutov`ch @ad pln[ nebo pr*{}zdn[$A ...stejn* posloupnost v&em hr*'+m ano/ne$Mezern)k ...spu&t%n) hryB%hem hry se pou()vaj) joysticky p@ipojen[ |}k At*rku p@es interface MultiJoy:Joystick vlevo, vpravo ...posun kostky dol+ ............rychl` posun dol+ tla')tko ...}}.....ot*'en) kostkyPozn*mka: P@i ot*'en) kostek je zachov*v*n lev` horn) roh pozice kostky. Pokud n%co z prav[ strany br*n) ~}oto'en), zp+sob) tla')tko automaticky posun kostky vlevo o pot@ebn` kus a a( tam se provede oto'en).Kl*vesnice Esc .......}......zru&en) hry Mezern)k ........pauzaP@eji hodn% z*bavy b%hem p@*telsk[ho souboje. ;-$to'en).Kl*vesnice Esc .......]PP 3S΅ҩLԩЩLPwPP >S/ !SpxLMNOnoahj ҝ`}թ``87?TMKTNWTOOyyyznyzSz0x10LH}jhPRQ  P0L/LjiPнS !So:/ !SBZ˩L2RRR ԍ bRf}%Rc ԍngnhک'o̢`}a`Ji0hJJJbo)Sco}jfo͝go̽b}bchgffgPLBR8˥Ωa˨"RSLR )iaMLRRS/ԩ !S 3S XS}l Tt@ Ax2S2S``i0S1!/ !S !S`BߍvSSwSL>SppppppppppppBSppAiS}9ouwillsee2!.$/--/6).'2%#4!.',%3ingraphicsmodexpixels4(!43!,, &/,+3SbT*us}tmovingpixels fps2!34%2 ~|񱱻988ޖ|涶PSbT*usg80 RECTANGLESRadek t%rba, RASTERNa prvn) ro'n)k 8bitov[ demoparty Forever 2e3, kter* se konala v minul[m roce v Tren')n%,} jsem si p@ipravil p@)sp%vek do kategorie Intro 1024 bytes - tj. demonstra'n) progr*mek limitovan` maxim*ln) d[lkou 1024 byt+}. M%l jsem velkou radost, (e m+j v`tvor n*v&t%vn)ky zaujal a ve sv[ kategorii na Atari zv)t%zil. Pokud jste si u( toto Intro }pustili a zaj)m* V*s, jak`m zp+sobem je tento efekt ud%l*n, 't%te d*le.Program p@edv*d) plynul` 50 sn)mk+ za sekundu$ pohy}b 80 r+zn% velk`ch obd[ln)k+ v nejjemn%j&)m grafick[m mdu p@es sebe, co( v sou'tu p@edstavuje p@esun 18560 pixel+ ka(dou 1/5}0 sekundy. Pokud zn*te alespo '*ste'n% v`konnostn) parametry At*rka, je v*m jasn[, (e toto nen) teoreticky mo(n[ st)hat. Ov&}em prakticky ano, za pomoci n%kolika trik+.Trik 1.Vodorovn[ strany obd[ln)k+ nejsou v+bec vykreslov*ny - na to je pou(ita }PMG. X-ov* pozice PMG hr*'e je m%n%na v ka(d[m zobrazovac)m @*dku, celkem je tedy jedin[ "PMG['ko" vyu(ito na v&ech 80 horn)c}h i 80 doln)ch stran v&ech obd[ln)k+. Pokud p@em`&l)te, jak posouv*m PMG objekt vlevo-vpravo s p@esnost) na jeden bod nejjemn}%j&) grafiky, kdy( PMG lze posouvat minim*ln% po dvou bodech, tak je vyu(ito toho, (e do pozad) na krajn) pozice strany jsou }dokreslov*ny pixely v GR.8. Tyto ji( jsou posouv*ny jemn%, ale PMG je posouv*no jen jednou za dva posuny pixel+, tak(e se bu} s koncem strany jedn)m bodem p@ekr`vaj), nebo stranu o jeden bod prodlu(uj). PMG i GR.8 maj) nastaveny stejn[ barvy, d+sledk}em je tedy zd*nliv` posun po jednom pixelu.Trik 2.Jak zn*mo, velikost videopam%i cel[ obrazovky je d*na vyn*soben)m po'tu} @*dk+ videopam%t) pot@ebnou pro ka(d` @*dek. V p@)pad% grafiky 8 je to 40 byt+ na @*dek. 160 @*dk+ by tedy znamenalo 6400 by}t+ videopam%ti. Ne v&ak v p@)pad% tohoto Intra. Pomoc) displaylistu je zde toti( definov*no, (e videopam% v&ech @*dk+ za')n*} na stejn[m m)st% - cel* obrazovka tedy vyu()v* pouze 40 byt+. Logick`m d+sledkem je, (e v&e co namalujeme do "prvn)ho" @*dku} se zobraz) i na v&ech dal&)ch. Tud)( v takov[m grafick[m mdu m+(eme malovat pouze svisl[ '*ry shora dol+ p@es celou obrazov}ku, nic men&)ho (*dn[ jednotliv[ pixely$. Dost nepou(iteln* grafika pro norm*ln) ]'ely, @)k*te si asi, ov&em my p@ece nepot@}ebujeme (*dnou norm*ln) grafiku. A te p@ijde j*dro triku. Do 40 bytov[ videopam%ti p@ipisujeme postupn% a( b%hem vykreslov*n}) obrazu, tak(e bod)k, kter` jsme tam zapsali t%sn% p@ed t)m, ne( se vykresloval na obrazovku prvn) @*dek, se zobraz) na prvn})m @*dku. P@ed druh`m @*dkem p@ikresl)me do t[ sam[ videopam%ti bod)k dal&), co( zp+sob), (e se na druh[m @*dku objev) jednak} op%t bod)k z prvn)ho @*dku a nav)c i bod)k druh`. A tak d*le - p@ed vykreslov*n)m ka(d[ho @*dku na obrazovku v(dy dokresl)me} do videopam%ti dal&) bod)k. Ve v`sledku dos*hneme zobrazen) svisl`ch 'ar, kde ka(d* bude za')nat o 1 @*dek n)(e. X-ovou pozi}ci t%chto cel`ch 'ar p@itom ovl*d*me v(dy pouze pozic) p@)slu&n`ch horn)ch bod)k+. Aby svisl* '*ra nevedla a( ]pln% dol+, v d}oln) polovin% vykreslov*n) obrazovky naopak jednotliv[ bod)ky odmaz*v*me. Proto(e svisl[ strany obd[ln)k+ jsou dv%, v horn)} polovin% tedy b%hem vykreslov*n) obrazu v ka(d[m @*dku p@id*v*m 2 body a v doln) '*sti op%t v ka(d[m @*dku dva odmaz*v*m. T)}m m*m tedy k dispozici 2 x 80 svisl`ch ]se'ek.Ve skute'nosti to v&ak nen) tak jednoduch[, jak je zde pops*no, nebo rychlos}t procesoru nesta') ani na to, aby st)hal v ka(d[m @*dku zm%nit pozici PMG a domalovat 'i smazat dva grafick[ body. Na to je }pou(it dal&) trik.Trik 3.V`po'ty pro postupnou zm%nu obsahu videopam%ti nejsou prov*d%ny a( b%hem vykreslov*n) obrazu, ale} b%hem VBI. Vypo'ten[ hodnoty, obsahuj)c) ur'en) kter[ byty se maj) m%nit a na jak[ hodnoty, se pr+b%(n% ukl*daj) do pol) a j}sou pou(ity "pr*v% v 'as" p@i vykreslov*n) obrazu. I tak se to st)h* t%sn% a spousta v%c) musela b`t maxim*ln% optimalizov*na}. Dal&) optimalizace byly nutn[ kv+li omezen) velikosti na maxim*ln% 1024 byt+, ale nakonec se v&e poda@ilo.% optimalizov*nam-------------------------------------FOREVER 2E3 INTRO COMPO-------------------------------------Name: 80 RECTANGLESAu}thor: RADEK STERBA / RASTER---------------------------------------------------------------------Name: 80 RECTANGLESAuCPi}U TI} UOP(Ȉ}(PUX`H@Ȝ}?<}**`}* *8(}(8@('?`( @`} ??` @@? @@ }`@@ `?? 0@ }?   }   } ?"    } p ? }0  ?/  @(J &s00` }(J (D0 ( .d0( )0 (} &c80x(@  08 (D  p0 (H }$q0(H 'P*0?%(@ $_ߪ0` (@ `}'Jp0 (@ $s0 (@ $+0 (@ $s}*0x `@ (@ 'O0@F0 (@ $Q@0 1  (@ `'0}`  @0 (@ $u0@  (@ $0@ǂ0 (@ $u 0} a (@ '?0 bA (@  P0A (@ '0}2" (@ $u>0 " (@ ' 0c" (@"  0} (@ ?0C (@ 0 ( }`  (@} ??b ( ? 4 ( ? ( }<( + O + ? + }*< @+  UP+ }UP* O@@+@ %T+ } ( g ( ! ( } ( ?( 0"Џ ( |8p}-G(  ? ( *@(( `  }( #   @@"H  | } @H"H  @  0 `@"H  }` 0`@ P@@ }h@@ X a ~@ @ }@  @ @   @ b @ #}@ ` 0@ >B@@ ` @  G` A@@@ @ z0 0 @} @@ 10~ (0@?$P8  ph}"`AXD p ! 0H@0d}P  p @ @  @^ D0@}0$8 # H!@ ]^ ($"@ 8p] B@t!8}p ~@ <#gB@ 0  0H>@ 8GT}@4.~:`0``} }HB@ $HD} @@@@@IĀHD?P@?HD  @HD }@HD@HD@t@}PHP}P P@@@}@ @@ @@@}@@@@@@}@@}<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>?????<<<<<<<<<}}<~~~~~~@`xppp` }ppp }???????b? ?????{{{y}???}}@0@~>>}>}~<f??}tt/ t̩@͢0t1u t}xԩԩЩo >/ t tԩM?u'LtuLrt t@ tЈ}Lrt tԩt_u@t`uLrttPt_u``u``ppOPtu}O`pBuAt}䀀󀀀uv򌀀哀xxHH}ЩЩ Ѝ Ѝ Ѝ ԩmЩ}ЩЩЍ ԩ ЍЩ ЍР ԈР Ԉ Р ԈЩЍ ԩrЩzЍ ԩ} Ѝ Щ Щ< Ѝ ԩЩEЩЩrЍ ԩzЩЍР Ԉ ЩsЩ~Щ<Р ԈuЩ Р ԈЩ[Щ8x}y ԈjЩР ԈЩ Щ Р ԈЩ0ЩЍ ԩЩЩ Р ԈmЩЩ ЩР Ԉ }Щ Р ԈЩ0Р Ԉ Щhh@t0ЩЍ ԩЩЩ Р ԈmЩЩ ЩР Ԉ 8Searching for undocumented 6502 instructionsGFX compo - Forever 2e3 SE$Radek t%rba/RasterKdy( jsem m%l v ]noru 2001 cel }kem dokon'en[ Intro a Music pro Forever 2e3 SE, za'ala m% l*kat i t@et) kategorie - Graphics. P@em`&lel jsem nad t[matem obr* }zku a napadlo m%, (e by mohlo b`t p%kn[ kone'n% realizovat to co jsem cht%l zkusit u( d*vno - v)cebarevn` nejjemn%j&) grafick }` md.Jak zn*mo, v mdu 320x192 um) At*rko jen 2 barvy, p@esn%ji dva odst)ny jedn[ barvy. Shora dol+ m+(ete samoz@ejm% tuto } barvu m%nit, ale moc par*dy s t)mhle nenad%l*te, nebo obr*zek bude viditeln% rozd%len shora dol+ do jednotliv`ch barevn`ch }p*s+. Ale m*me p@ece je&t% PMG sprites$. Pokud objekt z PMG grafiky zobraz)te nad nejjemn%j&)m mdem, doc)l)te zaj)mav[ho ef }ektu. Barva PMG p@ekryje barvu pozad), zat)mco body grafiky se zobraz) jako viditeln[ p@ed PMG objektem. Jasov* slo(ka bod+ z }+stane zachov*na, ale barva se zm%n) podle barvy PMG.Pokud m* nap@)klad pozad) sv%tle modrou barvu jas 10$ a body tmav% mo }drou jas 2$ a zobraz)me PMG objekt zelenou barvou jas 6$, ve v`sledku najdeme 4 barvy: 1. pozad) kde nen) PMG - modr* jas } 10$2. body kde nen) PMG - modr* jas 2$3. PMG nad pozad)m - zelen* jas 6$4. body nad PMG - zelen* jas 2$Tak(e jedn)m P }MG objektem se n*m poda@ilo vykouzlit 2 dal&) barvy - p@esn%ji jednu novou barvu ve 2 odst)nech, kter[ z+st*vaj) zachov*ny dl }e jasu pozad) a jasu bod+.Pro snaz&) pochopen) si p@edstavte, (e obr*zek je jen 'ernob)l` a na obrazovku jakoby nalepujeme }pr+hledn[$ kousky barevn[ flie, kter[ n*m v r+zn`ch '*stech zm%n) barvu a jas p@)slu&n[ho m)sta, a tak[ barvu bod+ co vid)m }e skrz. Pozn*mka: Technika s barevn`mi fliemi nalepen`mi na 'ernob)l[ obrazovce byla kdysi skute'n% pou()v*na u hrac)ch aut }omat+.$ Proto(e u PMG objekt+ lze nastavit &)@ku jeden bod PMG objektu m+(e m)t &)@ku a( 8 pixel+ nejjemn%j&) grafiky$, lz }e pomoc) PMG p@ekr`t celkem slu&n% velk[ kusy obrazu. V m)stech, kde pot@ebujeme obl[ tvary, mus)me samoz@ejm% u()t &)@ky nej!}men&) - 1 bod PMG odpov)d* 2 pixel+m nejjemn%j&) grafiky. Na prvn) pohled by se zd*lo, (e t)m p*dem jsme nuceni vyu()vat jen !}dvakr*t hor&) rozli&en), ov&em nen) tomu v(dy tak. Nap@)klad, pokud je jas pixel+ roven 0, zjist)te, (e libovoln* ze 16ti bar!}ev s nastaven`m jasem 0 je v podstat% 'ern* ne sice ]pln%, ale na plo&e 1 bodu si toho nev&imnete$. Je-li obr*zek malov*n ja!}ko tvary ohrani'en[ tmavou linkou jasem 0$, okrajov[ body bu p@ekr`vaj) PMG objekt a maj) barvu PMG objektu s jasem 0, nebo!} jsou t%sn% vedle PMG objektu a maj) barvu pozad) s jasem 0. Tak(e v obou p@)padech t[m%@ 'ernou barvu.Abyste si nemysleli,!} (e je to zase tak jednoduch[ - nen). V z*vislosti na slo(itosti obr*zku je nutn[ b%hem vykreslov*n) obrazu na jednotliv`ch @!}*dc)ch r+zn% m%nit barvov[ registry obrazu i PMG objekt+, &)@ky PMG objekt+ a jejich X-ov[ pozice, aby se PMG'kem podbarvilo !}p@esn% jen to co chcete. V%t&inou brzo zjist)te, (e byste PMG objekt+ pot@ebovali mnohem v)ce, ne( m*te k dispozici, ale v to!}m je pr*v% um%n) - vymyslet to tak, aby jste vysta'ili s t)m co je. M+(e se lehce st*t, (e n%kterou barvu na dan[ m)sto prost! }% nedostanete a mus)te obr*zek upravit - n%co kousek posunout, jinou v%c z](it nebo naopak zv%t&it a tak podobn%.Obr*zek "S! }earching for undocumented 6502 instructions" Hled*n) nedokumentovan`ch 6502 instrukc)$ byl jednak nakreslen - 'ernob)le, ru'! }n% bod)k po bod)ku - na to jsem pou(il narychlo pozm%n%nou verzi sv[ho TurboBasicov[ho grafick[ho editoru AnimG15, kter` jsem! } upravil pro gr.md 8 a p@idal n%jak[ jednoduch[ podp+rn[ funkce pro kreslen) do PMG videoram. D*le byl obr*zek, rovn%( ru'n%! }, doprogramov*n v assembleru MAC65. Byla to spousta propo')t*v*n) @*dk+, zm%n, ]prav, test+ a oprav - zkr*tka pipla'ka. Rutin!}a b%hem vykreslov*n) obrazu shora dol+ celkem ve 21 r+zn`ch @*dc)ch provede dohromady 61 zm%n barvov`ch a PMG registr+. To n!}ejsou vymy&len* ')sla - schv*ln% jsem to te spo')tal.$Kdo si chce ud%lat konkr[tn) p@edstavu, jak vypad* samotn* grafika a!} co je tvo@eno zm%nami barev a PMG, m+(e. Do sout%(n)ho samospustiteln[ho obr*zku jsem zabudoval cheat. Kdykoliv po spu&t%n) !}stla'te kl*vesu "A" - uk*(e se kr*tk[ textov[ info dole. Pak m+(ete kl*vesami 1, 2 a 3 p@ep)nat mezi samotnou 'ernob)lou graf!}ikou, barvov`mi zm%nami PMGpozad) a v`slednou slo(eninou oboj)ho.e kl*vesami 1, 2 a 3 p@ep)nat mezi samotnou 'ernob)lou graf B-------------------------------------FOREVER 2E3 SE GRAPHICS COMPO-------------------------------------Name: SEARCHING %}FOR UNDOCUMENTED 6502 INSTRUCTIONSAuthor: RADEK STERBA / RASTER------------------------------------- SEARCHING $qPPҩҩ/ Q cUx3RERFR Q"/ Q/2 Q "U3R ERFR %Qd Q"/ AQ Q QQ)}3R!zs Wq WZp W֠n W  _Q S"/ Q Q Q Qp Q3R!zs RWq RWZp RW֠n RW Q Q S3R3R)}LEP QPQ"/ AQ Q QQ Q"/ Q AQ@ Q QQL"Q/ Q0Q1` Q` Q`ȍ)}/ Q 0R1`` Q ` / Qi0R1`/ Qp0S1`/ Q0S1` Q)}``pQRppppppppppG-RppBARAQpppDpA R$!9,5#+97/2+).'!.43)}pppppppppppBRpAiR&o2e6e2e)}3%RS2e!l4i-e)n4r/c/m0ob9r!s4e2)}pppppppppppGSApStheendpppppppppppBSAS!p0l!u3e.o7 TT)}TS \`b \STҍ`SISLjT )8}TT )8}TTâ }TT)}TTTzzyzڭT)TTTҩTUҩT)TTT"TTɣTTɣTTLb)}0 TU``Q``Q[Q[`ll[Q[`l̩pͩ!U'M!U) ) @LJU ) }) D̈i(̐!U!U`xyz{?zU@z`)!} UV  0000LLLLWWWWWWNWWWWWWOWWWWWWWWW)"}WWWWWWWWWWWWWWWWWWWWWWWNWWWWWWONWWWWWWONWWWWONWWWWOJWWWWKԲ)#}VWԀΩVL%WΩVφ̄͢i)$} ΐϥi(̐̈͠` WWI WҭWI WҢ Ҋ Ҡ Q ҍҠ Q`PWΩVφ̄͢i(hD`B m3DDD 3RDRD t,D t,D t,D s+ E E U5E U5 ) 3D1&}DRDDDB`` 4> U5 2? U5 2? U5 2@ U5 2L4 4 3@ U5C S5 4iiC 1'}y5 2C S5 4iiC 4+Ģ@ U5C S5 4iiC 4 U5 2Lo (Ǣ@ U5C S5 4iiC 4 U5 21(}L!HihLt U5 4iiC 4# U5 4iiC 4 U5C +4ʢ@ U5ȱ S5 4i1)}iC y5 2L4L @ U5 2L4 4 4L0!HihL0!DD U5 1-ɛL!@[ 1*}  aDq腈L"!Dq腈L4 4 ?5 3EDD HihL!DL41+}DD 84Dq U5D 5HihHihL!Dq腈D 1,}D HihLX"D HihL"DL4DD 84Eq1-} U5D 5HihHihL"Eq腈L4 4 3L#HihL/#q腈1.} U5q腈 +4L4L:#L4 4 3C S5 4iiC 4 C U5 4iiC 4L#C S5 1/}4iiC 4 U5 3K8CCLF$mCCLF$ CCLF$CC LY$@ U5 210}CC@ U5 2L4L4 4 3LK%HihL$ U5 4iiC 4 U5C +4! U5 4iiC11} 4*&E U5ȱ S5 4iiC y5 $#L$L$'A U5ȱ S5 4iiC 4 U5 2L4L$+A U512} 2L4 4 3L?&HihLf% U5 4iiC 4 U5C +4D U5 4iiC 4&E U5ȱ S13}5 4iiC y5 $#Lq% U5 4iiC?A U5ȱ S5 4iiC y5 2L4Lq%MA U5 2L14}4 4 3L'HihLZ& U5 4iiC 4I U5 4iiC 4 U5C +4&E U5ȱ S5 4i15}iC y5 $# U5 4iiC^A U5ȱ S5 4iiC 4 U5 2 U5 4iiC 416} C U5 4iiCL'6 U5 4iiC 4 U5 4iiCCL4Le&bA U5 2L4 4 3q17}A U5 2L?(HihL' U5 4iiC 4ҡ A U5 2A U5ȱ S5 4iiC y5 2L'18}A U5 2L4 4D U5A U5 $#L4D U5A U5 $#  ?5 #L4D U5A U5 $#  ?5 #L4D U5A19} U5 $#  ?5 #L4D U5A U5 $#  ?5 #L4D U5A U5 $# w$L4D U5A U5 $# [%L4D U1:}5A U5 $# O&L4D U5A U5 $# 'L4D U5A U5 $# L4A U5 2L4 4  ĢA U5 2 1;}! ! O(ӢA U5 2DD U5 1-L4; 7DD ݘD"D8DD(D(`L *` D 1<}ݘD罗D⽘D` 'DHDh ݘDD 8DD`HHH E EEEhEhh:юzю` 1=}ݗDi!ʆLY+8JJ$DDED E)D ],…LY+80) EŒŒݘD1>}ݙD 8L*L*D)őJJD ],煑HHEHH EhJhhh` E EEE 9,`pE i? i0Eɛ@1?}0E ?X ȩ ȑ  +ȱ + ! Dȱ D0EɛC @8 E i0EEiE E E0E @0E1@}ж E EE`SL   8``D`݋D `D` ], H Dh` , B VL,HHI1A}sEh`L, 4 $*0. 4HI 4DE q4(` q4(`sE`qErE` ,L, , B VL,HH1B}IsEh`L, 3 4) 4) Ll4 x4 U5e U5 85 , 5 4  5Ll41C} 5 4  5Ll4Ll4Ll4 4 4)rEqEʊ L3 4) L3 5 4 52 x4 U5 1D}5 5 - 5 4  5 L3 L3 S4 S4 S4` P. O BL.3-1E}扥IiIiIiIiL. P.H &&&*Ő抈쨹BH٠h``E|E /|E1F} U5 85lzE8Ɨ`E I/L3E I/L3 I/ /`80, ( /H&&ee&he扰ͥ`1G}EEE`EmELU5LU5 /EE` /EE U5EE U5lzE 4 /Ll. 4 /L.HtEh S4 S41H}ȑȱzEȱ{E %e8刅剅% 4 / . tE`1I}% % / /L%0 }E-}E+~E E# E /L0 0 /E* / I/L0 U/EEEE. /1J}* / I/L1 U/EEFNh L l E /L 1EEEE /c I/EEL/2di-E ~E+E 7/0 E1K}EE /L/2n I/ȱL%0o' 7/EH E E0 /h /L/2s I/EEL/2u ,/ /L/2xX)H1L}E 0 /X / ,/ /hx EE 2L/2L%0EE 2EEE EEEEEEE8EEEEIEIE}E / 1M}/}E /L%0EDD U5mE腈 U5 D3EL3`A)8A楊1N}` 85 U5 - S4ȑ`eȱe`HDDD͑ȱDDh /DD`܅D 1O}`Heh`1H1hL3``B `B`DDEE DD DDE DL3`1P}ƃƂ``ƃ`L5L5ƃƂ`ń```Ȅ`L3L31Q}`````(` 3H8eh` 4HȊȥ1R}ȥh` (5Fjff eHehꥎ`HȱhL[4LS5Ƃ`ƃƂ`Hh`ƃL]1S}5e腈LU5LU5HhL[4HhL[4Hh`H8吅ƃh`Jsi v zatuchle kamenne 1T}kobce. Zeme je pokryta tlejici slamou. Jedine dvere vedou na vychod. Stojis ve vstupni chodbe teto budovy. Steny jsou bile n1U}aliceny. Na severu jsou uzamcena vrata ven. Prvni mistnost postraniho kridla budovy. Oknem na severu vidis cestu pryc. Nach1V}azis se ve stare kuchyni. Urcite se tu uz mnoho desitek let nevarilo. Stojis v rohove chodbe. Mramorova podlaha je pokryta p1W}rachem. Dlouha chodba sever-jih. Na zapade je pruchod do jine chodby. Blize neidentifikovatelna mistnost. Pro samou tmu vs1X}ak nevidis zadny jiny vychod. Na vychode jsou otevrene dvere. Jsi pravdepodobne v byvalem pokoji sluzebnictva. Jsou tu dve 1Y}postele a dubovy stul. Na jihu jsou uzamcene dvere. Nachazis se v loznici pana domu. Vsechen nabytek je odvezen, pouze poste1Z}l zustala. Stred dlouhe chodby sever-jih. Na vychode jsou dvere. Prijimaci salonek. Zbyla tu jen zidle a obraz. Dlouhy stu1[}l bez zidli prozrazuje, ze se jedna o jidelnu. Na sever jsou uzamcene dvere. Jsi VENKU a tim jsi uspesne zakoncil tuto demon1\}stracni hru. Konec chodby sever-jih. Chodba drive pravdepodobne pokracovala na zapad. Ted je tam vsak drevena stena, jejimi1]}z sparami prosvita denni svetlo. prohorela drevena stena, za niz vidis denni svetlo. Kamenna chodba, kterou se chodilo do s1^}taji ke konim. Steny jsou vlhke. Na vychode jsou uzamcene dvere. Dvere na vychode jsou odemceny. Stojis ve stajich. Je tu 1_}obrovske mnozstvi slamy. reklamuProgramujte v Cecku!baterkuVe tme by se mohla hodit.Baterka se rozsvitila.sirkyNeco s 1`}nimi tak zapalit!Zapalil jsi jeden z baliku slamy.klicKlic od nejakych dveri.Odemkl a otevrel jsi dvere.horici balik sla1a}myJe to balik slamy, ktery je zapaleny. :-)Polozil jsi slamu ke drevene stene, ta po chvili prohorela.slaFuj! Radeji na n1b}i ani nesahej.steTa bila je uz spise cerna.vraNemas sanci je otevrit nasilim.oknVelmi male okenko. Nemas sanci prolezt.1c}posZbyl jen mosazny ram.stuMa tri nohy.dveTezke vyrezavane dvere.posStara bukova postel. Matrace chybi.zidMa jednu 1d}nohu.obrKouka na tebe ksicht nejakyho strejdy.stuNeni na nem nic zvlastniho. Az na to, ze nema ani jednu nohu.dveTezke 1e}vyrezavane dvere bez kliky.steVelmi suche drevo.dveDirka pro klic laka...slaPekne proschla a vonava(!?). Min1f}itextovka DUUM jako demonstrace jazyka C Naprogramovano na pocitaci AMIGA pro pocitace ATARI XL/XE N1g}apsano pro casopis FLOP (c)1994 Jiri Svoboda FREEWAREPrikazy: sever, jih, vychod, zapad, 1q}BРBeMULTRIS COMBiMULTRIS CAPB-----------BRECT80 COMB RECT80 CAPBRECT80 TXTBFSEARCH65COMB#SEARCH65CAPBSEARCH65TXTBANTS COMB-----------BN%DUUM COMB|DUUM CAPBTDUUM C DCC65 CAPB-----------B(HISTORY COMTRAIN COMHPOISON COMB-----------UTURLOADCOMLv H S0`HLwlEl z  {  x CiEy DiFCD }C) ȱC  Ci}CDD  l }MICRO-DOS II/D(C)'84 by Stefan DorndorfSELECT PROGRAM : @%(H Р A) MULTRIS B) 80 RECTANGLES C) SEARCH 65 D) ANTS E) DUUM F) HISTORY G) TRAIN H) POISON I) UniTurbo zkoumej, vezmi, pouzij, inventar, situace, konec29.12.1997: Opraveno nekolik chyb azkompilovano pod MS Visual C+1r}+ 5.0.06.07.1999: Zkompilovano GCC pod Linux.08.01.2001: KONECNE zkompilovano proATARI diky 'cc65' pod Linuxem!20.04.2001s}1: Posledni revize.%s%s%sVidis tady lezet %s.Nemuzes jit tim smerem.Gratuluji!!! Jsi venku a tudiz jsi vyhral!%1t}sNemohu to zkoumat.Vzal jsi %s.Nemohu to vzit.%sZadny uspech.Neses sebou , %s.konsevjihvyczapzkovezp1u}ouinvsitNerozumim slovesu.Tvuj prikaz: Enter... 1v}  P 1w}  0123456789ABCDEF-2147483648 1x}53666.7m7 778!8889N999=:t: 1y}::;3;f;n;;;;;;;;<<6<I< s<<<<<<<==A=E=1z}[=_=l=p==== == == =0> 4>V> Z>m>q>>>D1:1{}EDDD3`LV> Z>m>q>>>D1:0O DUUM ==== Ji@) Svoboda Mo(n* si vzpom)n*te, (e v roce 1994 vych*zel ve FLOPu seri*l o programov*ni v jazyce C. J* s5}}*m jsem se programov*n)m v jazyce C za'al zab`vat kr*tce p@edt)m a tak m% napadlo, (e bych do FLOPu mohl p@isp%t n%jak`m mal`5~}m demonstra'n)m progr*mkem. Napadla m% textov* konverza'n) hra, lidov% @e'eno textovka. Jednou z v`hod jazyka C je, (e poku5}d n%co naprogramujete standardn)mi prost@edky tohoto jazyka, zkompilujete takovou aplikaci bez v%t&)ch obt)() na t[m%@ libovo5}ln[ platform%. To byla i m* tehdej&) my&lenka. Hru, je( jsem pojmenoval DUUM, jsem psal a ladil na m[m po')ta'i Amiga ve "sta5}ndardn)m C['ku". C)lovou platformou m%lo b`t osmibitov[ Atari a tomu jsem tak[ p@izp+sobil rozsah hry. Paradoxn%, a'koliv se 5}v n*sleduj)c)ch letech hra rozb%hla na mnoha platform*ch, osmibitov[ Atari si muselo po'kat cel`ch sedm let. Kr*tce po doko5}n'en) programu ji( hra b%(ela nejen na Amize, ale i na Atari ST a PC MS-DOS, zkompilov*no p@eklada'em Borland C 3.1$ a tak5}[ v n) ji( bylo nalezeno p*r chyb. Na mal[m Atari jsme se o p@eklad nejprve pokusili pomoc) Deep Blue C. Ne]sp%&n%. Jak jsme 5}vz*p%t) zjistili, tento p@eklada' nepodporuje struktury, t%ch ov&em program hojn% vyu()v*. Po n%jak[ dob% p@i&el na @adu p@ek5}lada' cc65. Pro n%j ji( struktury nejsou probl[m, ov&em tentokr*t p@eklad p@ed'asn% skon'il z daleko prozai't%j&)ho d+vodu. N5}edostatek pam%ti. Tu&)m, (e Zden%k Burian je&t% 'inil n%jak[ pokusy s d%len)m kdu na men&) '*sti a postupn`m p@ekladem, ka(d5}op*dn% v&ak ne]sp%ch uvrhl tento projekt t[m%@ do zapomn%n). 29.12.1997 jsem projekt op%t vyt*hnul na denn) sv%tlo, opravil5} p*r star`ch chyb a ]sp%&n% zkompiloval MS Visual C 5.0 jako Win32 konzolovou aplikaci. Po dal&)m roce a p+l, 6.7.1999, jse5}m program zkompiloval pod Linuxem p@eklada'em GCC a jako takov` byl k dispozici prost@ednictv)m telnetu na Internetu. Zat)m5} posledn) zmrtv`chvst*n) a kone'n% za ]'elem p+vodn% stanoven[ho c)le$ se odehr*lo n%kolik dn+ pot[, co mi byla ozn*mena exi5}stence cc65 crosscompileru o n%m( jsem tak[ napsal 'l*nek do tohoto ')sla FLOPu$. 8.1.2001, po t[m%@ sedmi letech od sv[ho v5}zniku, se DUUM kone'n% rozb%hl i na mal[m Atari. 20.4.2001 jsem opravil drobnou chybku v logi'nosti jedn[ m)stnosti, upravil 5}funkci Situace$ tak, aby nepou()vala "b", poopravil vzhled zdrojov[ho kdu tak, aby v)ce odpov)dal dne&n)m zvyklostem a t)m 5}p@ipravil program k... Uplynulo sedm let a seri*l o programov*n) v jazyce C ji( d*vno nevych*z). To v&ak neub)r* tomuto pro5}gramu na p+vabu. Nab)z)m v*m jej a s n)m samoz@ejm% i jeho zdrojov` kd. A pamatujte, ohe se d* p@en*&et...ub)r* tomuto pro4m/* Minitextovka "DUUM" v jazyce "C" Naprogramovano na pocitaci AMIGA pro pocitace ATARI XL/XE specialn9}e pro casopis FLOP (c)1994 Jiri Svoboda FREEWARE*//* Revidovano 20.4.2001*/#include #define EOL '\n'#define SEVER 1#define JIH 2#define VYCHOD 4#define ZAPAD 8#define PREDME9}TU 20#define NEJDEVZIT 0#define JDEVZIT 1#define TYP_NIC 0#define TYP_MIST 1#define TYP_PRED 2char tedmistnost9}= 0;char konmistnost=12;char konec = 0;char prikaz[30];char sloveso[4];char podstjm[4];struct mistnost { char9} *popis0; char uroven; char *popis1; char vychody1; char *popis2; char vychody2;};struct predmet { 9} char *jmeno; char pozice; char typ; char *zkoumej; char mistpouziti; char prikpouziti; char datapouz9}iti; char *pouzij;};struct mistnost datam[16]= { {"Jsi v zatuchle kamenne kobce. Zeme je pokryta tlejici slamou. Je9}dine dvere vedou na vychod. ", 0, 0, VYCHOD, 0, 0 }, {"Stojis ve vstupni chodbe teto budovy. Steny 9}jsou bile naliceny. Na severu jsou uzamcena vrata ven. ", 0, 0, JIH+VYCHOD+ZAPAD, 0, 0 }, {"Prvni m9}istnost postraniho kridla budovy. Oknem na severu vidis cestu pryc. ", 0, 0, JIH+VYCHOD+ZAPAD, 0, 0 },9} {"Nachazis se ve stare kuchyni. Urcite se tu uz mnoho desitek let nevarilo. ", 0, 0, ZAPAD, 0, 0 }9}, {"Stojis v rohove chodbe. Mramorova podlaha je pokryta prachem. ", 0, 0, JIH+VYCHOD, 0, 0 }, {9}"Dlouha chodba sever-jih. Na zapade je pruchod do jine chodby. ", 0, 0, SEVER+JIH+ZAPAD, 0, 0 }, {"9}Blize neidentifikovatelna mistnost. ", 1, "Pro samou tmu vsak nevidis zadny jiny vychod. ", SEVER, "Na vychod9}e jsou otevrene dvere. ", SEVER+VYCHOD }, {"Jsi pravdepodobne v byvalem pokoji sluzebnictva. Jsou tu dve postele a 9}dubovy stul. Na jihu jsou uzamcene dvere. ", 0, 0, ZAPAD, 0, 0 }, {"Nachazis se v loznici pana domu9}. Vsechen nabytek je odvezen, pouze postel zustala. ", 0, 0, SEVER, 0, 0 }, {"Stred dlouhe chodby s9}ever-jih. Na vychode jsou dvere. ", 0, 0, SEVER+JIH+VYCHOD, 0, 0 }, {"Prijimaci salonek. Zbyla tu j9}en zidle a obraz. ", 0, 0, JIH+VYCHOD+ZAPAD, 0, 0 }, {"Dlouhy stul bez zidli prozrazuje, ze se jedn9}a o jidelnu. Na sever jsou uzamcene dvere. ", 0, 0, ZAPAD, 0, 0 }, {"Jsi VENKU a tim jsi uspesne za9}koncil tuto demonstracni hru. ", 0, 0, 0, 0, 0 }, {"Konec chodby sever-jih. Chodba drive pravdepodo9}bne pokracovala na zapad. Ted je tam vsak ", 1, "drevena stena, jejimiz sparami prosvita denni svetlo. ", SEVER,9} "prohorela drevena stena, za niz vidis denni svetlo. ", SEVER+ZAPAD }, {"Kamenna chodba, kterou se chodilo do s9}taji ke konim. Steny jsou vlhke. ", 1, "Na vychode jsou uzamcene dvere. ", SEVER, "Dvere na vychode jsou odem9}ceny. ", SEVER+VYCHOD }, {"Stojis ve stajich. Je tu obrovske mnozstvi slamy. ", 0, 0, ZAPAD, 0, 9} 0 }};struct predmet datap[PREDMETU]= { {"reklamu", 16,JDEVZIT, "Programujte v Cecku!", 17,TYP_NIC,0, 9} 0 }, {"baterku", 1,JDEVZIT, "Ve tme by se mohla hodit.", 6,TYP_MIST,0, "Baterka se rozsvitila." },9} {"sirky", 7,JDEVZIT, "Neco s nimi tak zapalit!", 15,TYP_PRED,4, "Zapalil jsi jeden z baliku slamy." },9} {"klic", 8,JDEVZIT, "Klic od nejakych dveri.", 14,TYP_MIST,0, "Odemkl a otevrel jsi dvere." }, {"ho9}rici balik slamy", 17,JDEVZIT, "Je to balik slamy, ktery je zapaleny. :-)", 13,TYP_MIST,0, "Polozil jsi slamu9} ke drevene stene, ta po chvili prohorela." }, {"sla", 0,NEJDEVZIT, "Fuj! Radeji na ni ani nesahej.", 17,T9}YP_NIC,0, 0 }, {"ste", 1,NEJDEVZIT, "Ta bila je uz spise cerna.", 17,TYP_NIC,0, 0 }, {"vra",9} 1,NEJDEVZIT, "Nemas sanci je otevrit nasilim.", 17,TYP_NIC,0, 0 }, {"okn", 2,NEJDEVZIT, "Velmi 9}male okenko. Nemas sanci prolezt.", 17,TYP_NIC,0, 0 }, {"pos", 7,NEJDEVZIT, "Zbyl jen mosazny ram.", 9} 17,TYP_NIC,0, 0 }, {"stu", 7,NEJDEVZIT, "Ma tri nohy.", 17,TYP_NIC,0, 0 }, {"dve", 7,NE9}JDEVZIT, "Tezke vyrezavane dvere.", 17,TYP_NIC,0, 0 }, {"pos", 8,NEJDEVZIT, "Stara bukova postel. M9}atrace chybi.", 17,TYP_NIC,0, 0 }, {"zid", 10,NEJDEVZIT, "Ma jednu nohu.", 17,TYP_NIC,0, 0 }9}, {"obr", 10,NEJDEVZIT, "Kouka na tebe ksicht nejakyho strejdy.", 17,TYP_NIC,0, 0 }, {"stu", 11,9}NEJDEVZIT, "Neni na nem nic zvlastniho. Az na to, ze nema ani jednu nohu.", 17,TYP_NIC,0, 0 }, {"dve", 9}11,NEJDEVZIT, "Tezke vyrezavane dvere bez kliky.", 17,TYP_NIC,0, 0 }, {"ste", 13,NEJDEVZIT, "Velmi 9}suche drevo.", 17,TYP_NIC,0, 0 }, {"dve", 14,NEJDEVZIT, "Dirka pro klic laka...", 17,TYP_NIC,0, 9} 0 }, {"sla", 15,NEJDEVZIT, "Pekne proschla a vonava(!?).", 17,TYP_NIC,0, 0 }};void Tiskniuvod()9} { printf("\n Minitextovka DUUM\n jako demonstrace jazyka C\n Naprogramovano na pocitaci AMIGA\n 9}pro pocitace ATARI XL/XE\n Napsano pro casopis FLOP\n (c)1994 Jiri Svoboda\n FREEWARE\n\n"); 9}printf("Prikazy: sever, jih, vychod, zapad,\n zkoumej, vezmi, pouzij,\n inventar, situace, konec\n"); pri9}ntf("\n29.12.1997: Opraveno nekolik chyb a\nzkompilovano pod MS Visual C++ 5.0.\n06.07.1999: Zkompilovano GCC pod Linux.\n08.9}01.2001: KONECNE zkompilovano pro\nATARI diky 'cc65' pod Linuxem!\n"); printf("20.04.2001: Posledni revize.\n");}void 9}Situace() { char i; printf("\n%s",datam[tedmistnost].popis0); switch (datam[tedmistnost].uroven) { case 19}: printf("%s",datam[tedmistnost].popis1); break; case 2: printf("%s",datam[tedmistnost].popis2); 9}} for (i=0;i29) i=29; znak=getchar(); if (znak==EOL) break; if ((znak>64) &9}& (znak<91)) znak+=32; prikaz[i]=znak; } prikaz[i]=0;}void Rozeberprikaz() { char i=0; char j; 9} sloveso[0]=podstjm[0]=0; while (prikaz[i]==' ') i++; if (prikaz[i]==0) return; j=0; while ((prikaz[i]!9}=0) && (prikaz[i]!=' ') && (j<3)) { sloveso[j]=prikaz[i]; i++; j++; } sloveso[j]=0; while9} ((prikaz[i]!=0) && (prikaz[i]!=' ')) i++; while (prikaz[i]==' ') i++; if (prikaz[i]==0) return; j=0; wh9}ile ((prikaz[i]!=0) && (prikaz[i]!=' ') && (j<3)) { podstjm[j]=prikaz[i]; i++; j++; } podstjm9}[j]=0;}char Porovnej(string1,string2)char string1[4],string2[4];{ char i; for (i=0;i<3;i++) if (string19}[i]!=string2[i]) return 0; return 1;}char Jdi(smer)char smer;{ char vychody; if (datam[tedmistnost].ur9}oven==2) vychody=datam[tedmistnost].vychody2; else vychody=datam[tedmistnost].vychody1; if (vych9}ody&smer) { switch(smer) { case SEVER: tedmistnost-=4; break; case 9}JIH: tedmistnost+=4; break; case VYCHOD: tedmistnost+=1; bre9}ak; case ZAPAD: tedmistnost-=1; } Situace(); } else printf("Nemuzes jit tim smer9}em.\n"); if (tedmistnost==konmistnost) { printf("Gratuluji!!! Jsi venku a tudiz jsi vyhral!\n"); return 9}1; } return 0;}void Zkoumej() { char i; for (i=0;i0) printf(", "); printf("%s",datap[i].jmeno)9}; } printf(".\n");}char Vykonejprikaz() { if (Porovnej(sloveso,"kon")) return 1; if (Porovnej(sloves9}o,"sev")) return Jdi(SEVER); if (Porovnej(sloveso,"jih")) return Jdi(JIH); if (Porovnej(sloveso,"vyc")) return Jdi(VY9}CHOD); if (Porovnej(sloveso,"zap")) return Jdi(ZAPAD); if (Porovnej(sloveso,"zko")) { Zkoumej(); ret9}urn 0; } if (Porovnej(sloveso,"vez")) { Vezmi(); return 0; } if (Porovnej(sloveso,"pou")) { 9} Pouzij(); return 0; } if (Porovnej(sloveso,"inv")) { Inventar(); return 0; } 9}if (Porovnej(sloveso,"sit")) { Situace(); return 0; } printf("Nerozumim slovesu.\n"); return 0;}9}void main() { Tiskniuvod(); Situace(); do { printf("\nTvuj prikaz: "); Ctiprikaz(); Ro9}zeberprikaz(); } while (Vykonejprikaz()==0); printf("\nEnter...\n"); getchar();} Ctiprikaz(); Ro8^ cc65 - C crosscompiler ====================== Ji@) Svoboda Za'alo to nevinn%. Jednoho dne se v na&) prost%jovsk[ ko=}nferenci objevil e-mail od Radka t%rby s jedinou kr*tkou pozn*mkou ve smyslu "O tomhle jsme se bavili ve ZBAKu" co( u( je o=}fici*ln) term)n pro sch+zky Atariklubu, konan[ u Zdeka Buriana; j* tam tentokr*t nebyl$ a link vedouc) na http://www.cc65.or=}g. Tam jsou domovsk[ str*nky programu, nad jeho( neexistenc) jsem si d@)ve ji( n%kolikr*t posteskl a proto(e jsem ani nep@edp=}okl*dal, (e by snad mohl existovat, nikdy mne nenapadlo jej hledat. O co jde? --------- Jde o voln% &i@iteln` k@)(ov`=} kompil*tor jazyka C pro stroje postaven[ na procesorech 6502. Term)n k@)(ov` kompil*tor - crosscompiler - vyjad@uje, (e ko=}mpil*tor generuje kd pro odli&nou platformu typicky jin` CPU$, ne( na kter[ s*m b%(). Pro n*s to prakticky znamen* mo(nost =}programovat v jazyce C pro na&e mal[ Atari, ale vyu()t p@itom v&ech v`hod, kter[ sk`taj) daleko modern%j&) stroje. P)&ete sv+=}j program v komfortn%j&)m prost@ed) modern%j&)ho po')ta'e, p@)mo tam jej p@ekl*d*te je to rychl[, p@i chyb*ch nemus)te neust=}*le znovu nahr*vat jednotliv[ '*sti syst[mu - editor, p@eklada', linker, ... z diskety 'i ramdisku$ a a( v`sledn` kd p@enese=}te na mal[ Atari, kde jej spust)te. Samoz@ejm% si jej nap@ed m+(ete vyzkou&et v emul*toru. M+j prvn) pokus ------------=}--- V roce 1994 jsem pro magaz)n FLOP, p@esn%ji pro kurz jazyka C v tomto magaz)nu, napsal krati'kou textovku v jazyce C. J=}menovala se DUUM. Byla naps*na ve standardn)m C a d)ky tomu jsem ji beze zm%n postupn% ]sp%&n% p@elo(il pro Amigu, Atari ST i=} PC OS Microsoftu i Linux$. Na mal[m Atari jsme tehdy pou()vali Deep Blue C, ov&em to na p@eklad nesta'ilo. Pokud si dob@e p=}amatuji, probl[my tehdy byly s absenc) struktur. Se Zdekem Burianem jsme tehdy zkou&eli je&t% jeden p@eklada', ten struktury=} um%l, ale zase nebyl dostatek pam%ti pro p@eklad tak "rozs*hl[ho" programu. V cc65 se sice prvn) p@eklad nezda@il musel j=}sem odstranit lom)tka, kter* umo(uj) pokra'ovan) logick[ho @*dku na dal&)m fyzick[m @*dku$, ale ji( druh` p@eklad prob%hl be=}z chyby a z)skal jsem funk'n) aplikaci pro mal[ Atari. P@)jemn`m p@ekvapen)m bylo, (e zat)mco zdrojov` kd m%l cca. 10kB, v`s=}ledn` kd byla cca. o 1kB men&). Kde se to vzalo? ---------------- cc65 je kompil*tor jazyka C, p+vodn% p@izp+soben` =}pro po')ta'e Atari Johnem R. Dunningem. Je to n*sledn)k jazyka Small C s n%kolika roz&)@en)mi a odstran%n`mi n%kter`mi limity=}. Proto(e u n*s ve ZBAKu vznikly okolo p+vodu tohoto programu drobn[ nejasnosti, opakuji, (e tento kompil*tor JE p+vodn% pr=}ogram pro mal[ Atari a JE tak tak[ st*le k dispozici. Je to nav)c onen tajemn`, v p@edchoz)m odstavci zm)n%n` "je&t% jeden p@=}eklada'". Co to ne$um)? -------------- Kompil*tor je t[m%@ ISO C kompatibiln), z jeho omezen) vyb)r*m: - modifik*t=}ory "const" a "volatile" jsou dostupn[, ale nic ned%laj) - datov[ typy "float" a "double" nejsou dostupn[ - inicializace =}lok*ln)ch prom%nn`ch je mo(n* pouze pro skal*rn) datov[ typy tj. ne pole a struktury$ - funkce nemohou vracet struktury; p=}@i@azov*n) struktur je mo(n[ - existuj) ur'it[ limity velikosti lok*ln)ch prom%nn`ch; nejsou dostupn[ v&echny operace, poku=}d velikost lok*ln)ch prom%nn`ch p@ekro') 256 bajt+ V z*vislosti na syst[mu, pro kter` je p@eklad prov*d%n, mohou existovat >}dal&) limity viz. n)(e$. Vlastnost), se kterou je tak[ nutno po')tat, je to, (e kompil*tor neoptimalizuje. Jako v d*vn`ch >}dob*ch p@i programov*n) na PC mus) program*tor p@em`&let pokud tedy chce produkovat kvalitn) kd$, co jak kompil*tor p@elo()>}. Prakticky to nap@. znamen* nepou()vat p@i proch*zen) polem b%(n` index kter` se p@i ka(d[m pr+chodu znovu po')t*$, ale vyu>}()t ukazatele. Rychlost v`sledn[ho kdu se t)m dramaticky zv`&). Kompil*tor nen) v&echno ----------------------- To r>}ozhodn% ne! Pokud se tro&ku zab`v*te programov*n)m, jist% pochop)te, (e by to bylo tro&ku m*lo. Tak(e co v&echno se v bal)ku >}nach*z)? - cc65 - vlastn) p@eklada' jazyka C na jeho v`stupu je zdrojov` kd assembleru$ - ca65 - makro assembler - l>}d65 - linker - cl65 - compile and link utility frontend pro cc65, ca65 a ld65$ - ar65 - archiver pro tvorbu vlastn)ch>} knihoven funkc)$ - da65 - disassembler - od65 - object file dump utility pro z)sk*n) informac) z .o soubor+$ Build>} sestaven)$ ----------------- Vlastn) sestaven) v`sledn[ho spustiteln[ho programu prob)h* minim*ln% ve t@ech kroc)ch. V > }prvn)m kroku p@eklada' cc65 p@elo() zdrojov` kd jazyka C soubor.c$ do zdrojov[ho kdu assembleru soubor.s$, v druh[m assem> }bler tento soubor p@elo() do bin*rn) podoby soubor.o$. V posledn)m kroku linker p@ipoj) k v`sledn[mu kdu na platform% z*vis> }l` spou&t%c) kd v na&em p@)pad% atari.o$ a knihovny z*klad je atari.lib, ale m+(ete m)t i svoje$. T)m je sestaven) hotovo > }a z)sk*v*me na Atari spustiteln` kd. V grafick[m zn*zorn%n) by to vypadalo takto kompilujeme soubor "hello.c"$:-------> }--| hello.c |--------- | cc65 |---------| hello.s |--------- | ca65 |--------- ->}-------- ---------| hello.o | | atari.o | |atari.lib|--------- --------- --------- | | >} | ld65---------------------- |---------| hello |--------- Samoz@ejm% je mo(n[ vytvo@it si vlastn)>} .o soubory t@eba s obr*zky, texty atp.$ a p@ipojit je k programu tak[. Z v)ce soubor+ .o si m+(ete vytvo@it vlastn) knihovn>}u .lib$. Nen) to zbyte'n% slo(it[? ------------------------- Mo(n* to tak vypad*, ale nikdo po v*s nechce, abyste v&>}echny kroky prov*d%li ru'n%. Zjednodu&uj)c) mo(nosti jsou hned dv%. Prvn) spo')v* v pou(it) frontendu, programu cl65, kter`m >}m+(ete v&echny pot@ebn[ kroky ud%lat jedn)m povelem. A druh*? Ti z v*s, kte@) nez+stali pouze ve sv%t% osmibit+, ur'it% zav`s>}knou. P@)kaz "make" a jeho "Makefile". D%s)c) se u(ivatele mus)m uklidnit, (e p@)slu&n[ "Makefile" je o pozn*n) jednodu&&) ne>}( t@eba u zdroj*k+ Linuxov[ho kernelu... Jenom Atari? ------------ Ne, Atari nen) jedin` po')ta' s CPU @ady 65xx. Kd>} tedy m+(eme krom% Atari p@ekl*dat i pro n%kolik po')ta'+ Commodore a po')ta' Apple . I kdy( v&ak byl crosskompiler z p+vodn)>}ho p@eklada'e p@epracov*v*n pro pou(it) s Commodore 64, tak d)ky tradi'n% skv%l[ pr*ci Atari program*tor+ je podpora File I/O>} dostupn* pouze pro Atari syst[my. Prakticky to pro ostatn) syst[my znamen* nedostupnost spousty kl)'ov`ch funkc) nap@. prin>}tf$ a nutnost obch*zen) t[to slabiny pro v&echny syst[my alespo existuje knihovna conio, kter* @e&) vstup z kl*vesnice a v`>}stup na obrazovku$. To v`razn% sni(uje pou(itelnost p@eklada'e. Pro m[n% zasv%cen[ zde dopluji, (e to nen) vlastnost 'i chyb>}a p@eklada'e ale jde jen o ne$dostupnost p@)slu&n`ch knihoven. Na&t%st) se to n*s, atarist+, net`k*. Na 'em m+(u kompilo>}vat? ----------------------- Ur'it% na stroj)ch s opera'n)mi syst[my Linux, DOS, Windows, OS/2, FreeBSD, BeOS a Irix. Pro>}to(e je v&ak cel` projekt dostupn` i ve zdrojov`ch kdech, nem%l by b`t probl[m zkompilovat crosscompiler i pro jin[ platform>}y Atari ST$. Autor auto@i$ s*m uv*d), (e cel` kd je s jedinou v`jimkou funkce access$$ 'ist[ ISO C. J* s*m jsem crossc>}ompiler kompiloval ze zdrojov`ch kd+ na sv[m obl)ben[m OS Linux, redak'n) kolega Robert Petru(ela zkou&el hotov[ bin*rky pro> } Windows. Na co jsme p@i&li p@i "hran)" ----------------------------- Crosscompiler s*m nep@ekl*d* p@)mo do spustitel>!}n[ho kdu, ale jeho v`stupem je zdrojov` kd pro assembler jak bylo zm)n%no v`&e$. Je zaj)mav[ sledovat, jak jsou C konstruk>"}ce p@ekl*d*ny, pokud se v*m je poda@) v kdu nal[zt. Nic pro norm*ln) lidi. :-$ Tisk znaku "#},_kter`_ten_zatrolenej_apek_neum)>b" backspace$ funkc) printf$ nen) korektn), m)sto vymaz*n) znaku je vyti&t%n jeden z gra>$}fick`ch symbol+. Nen) o&et@en stisk kl*vesy BREAK. Prakticky to znamen*, (e po jej)m stisku procesor n%kam "zabloud)" a to >%}je konec korektn)ho b%hu aplikace. Teoreticky by to m%lo j)t obej)t nastaven)m vektor+ kl*vesy BREAK. P@i nejbli(&) p@)le(ito>&}sti to hodl*m vyzkou&et. Z*v%r? Nem*m r*d z*v%ry. ------------------------ Skv%l* v%ci'ka! Opravdu jsem j) nad&en! k>'}oda jen, (e m% nenapad*, co bych mohl na Atari naprogramovat... Ale n%kte@) z V*s ji ur'it% vyu(ij). Tak(e hur* na http://www?}TӘԍԢ3TL0@12T345 %@Lz2!01 aL% a201 a26 a26LDF)}232435hh` V)tejte ve sv%t% osmibitov`ch po')ta'+ zna'ky ATARI &-+ Firma ATARI byla zalo(ena v roce 1972F*}. Samotn[ slovo ATARI poch*z) z japonsk[ hry GO, v n)( m* obdobn` v`znam jako v`raz "&ach" ve h@e &achy. Tradi'n) firemnF+}) logo, zn*m* trojno(ka, bylo inspirov*no japonskou sopkou Fud(i. Na za'*tku vzniku firmy byla v`roba zam%@ena na televF,}izn) hry a videoautomaty, v`roba prvn)ch dom*c)ch po')ta'+ ATARI byla zah*jena v roce 1979 a to modelem Atari 400. DoF-}m*c) po')ta'e Atari se staly ve druh[ polovin% osmdes*t`ch let jedny z nejpopul*rn%j&)ch a nejprod*van%j&)ch na trhu.H F.}Atari 400 - V`roba tohoto modelu byla zah*jena v roce 1979 a trvala a( do roku 1982. Atari 400 byl prvn)m dom*c)m pF/}o')ta'em firmy ATARI a byl navr(en jako za'*te'nick` syst[m pro mal[ d%ti. Osazen byl osmibitov`m mikroproceso- rem 65F0}02 firmy MOS TECHNOLOGY a pracoval na taktu 1.79MHz. Pam% RAM m%la velikost 16KB, pam% ROM s opera'n)m syst[mem 10KB.F1} Interpreter jazyka BASIC nebyl zabudov*n, ale byl dod*v*n v z*suvn[m modulu. Fliov* kl*vesnice typu QWERTY m%la 57 klF2}*ves a dle v`robce m%la b`t odoln* v+'i ne&etrn[mu zach*zen). Po')ta' m%l vestav%n reproduktor, 'ty@i joystickov[ porF3}ty a jeden konektor pro z*suvn` modul. V`stup na TV p@es RF modul*tor. Jako z*znamov* perif[rie byl pou()v*n kazetov` maF4}gnetofon Atari 410. Pam% RAM bylo mo(no roz&)@it na 32 nebo 48KB. P+vodn% m%l b`t po')ta' osazen pam%t) o velikosti 4KBF5}, odtud ozna'en) Atari 400.= Atari 800 - V`roba tohoto modelu b%(ela soub%(n% s modelem Atari 400. Atari 800 byl aF6}le navr(en pro v*(n%j&) pr*ci, jako v&estrann% pou(iteln` syst[m s mo(no- st) snadn[ho roz&)@en). Po')ta' byl osazen mF7}ikroprocesorem 6502 na taktu 1.79MHz. Pam% RAM m%la velikost 48KB, pam% ROM s opera'n)m syst[mem 10KB. Interpreter jaF8}zyka BASIC nebyl zabudov*n. Profesion*ln) kl*vesnice typu QWERTY se 'ty@mi funk'n)mi kl*vesami. Na p@edn) stran% po')F9}ta'e byly um)st%ny 'ty@i joystickov[ porty. Na horn) stran% po')ta'e bylo rozm%rn[ odkl*p%c) v)ko, pod kter`m se nach*zeF:}ly dva konektory z*suvn`ch modul+ a 'ty@i konektory roz&)@en). P+vodn% m%l b`t po')ta' osazen pam%t) o velikosti 8KB, oF;}dtud ozna'en) Atari 800.= Atari 1200XL - V`roba tohoto modelu nov[ generace byla zah*jena v roce 1982 a m%la nahF<}radit oba p@edchoz) modely - modely Atari 400/800. V`roba v&ak byla brzy ukon'ena jako neperspektivn). Po')ta' Atari 120F=}0XL byl osazen vylep&en`m mikroprocesorem 6502C na taktu 1.79MHz. Pam% RAM m%la velikost 64KB, pam% ROM s opera'n)m syF>}st[mem 24KB. Interpreter jazyka BASIC nebyl zabudov*n. Profesion*ln) kl*vesnice typu QWERTY s dev)ti funk'n)mi kl*vesF?}ami. Dva joystickov[ porty a konektor z*suvn[ho modulu na lev[ bo'n) stran% po')ta'e. Poprv[ zde byl pou(it design, j)F@}m( m%la b`t @ada XL charakteristick* - elegantn) sk@)ka ze sv%tle a tmav% hn%d[ho plastu. Po')ta' Atari 1200XL se v&akFA} nikdy neroz&)@il. Jeho hlavn) slabinou bylo, (e se jednalo o zcela uzav@en` syst[m bez mo(nosti dal&)ho roz&)@en). M%lFB} neslu'iteln` opera'n) syst[m, vyskytly se probl[my s pou()v*n)m star&)ho software.G Atari 600XL - Nov` model @adyFC} XL, kter` spolu s modelem Atari 800XL rychle nahradil ne]sp%&n` Atari 1200XL. Model Atari 600XL byl zam`&len jako n*hrFD}ada za Atari 400. V`roba byla zah*jena v roce 1983.$ Po')ta' byl osazen mikroprocesorem 6502C na taktu 1.79MHz. Pam% RFE}AM m%la velikost 16KB, pam% ROM s opera'n)m syst[mem a interpretem jazyka BASIC 24KB. Interpreter jazyka BASIC je tedy FF} ji( zabudov*n p@)mo uvnit@ po')ta'e. Profesion*ln) kl*vesnice typu QWERTY s p%ti funk'n)mi kl*vesami. Dva joystickov[ pFG}orty na prav[ bo'n) stran% po')ta'e. Na zadn) stran% po')- ta'e konektory SIO, PBI, TV, monitor, nap*jen)$ a vyp)na' napFH}*jen). Na horn) stran% po')ta'e mal* plechov* dv)@ka, pod kter`mi se nach*z) konektor pro z*suvn` modul. Opera'n) syst[mFI} byl st*le trochu neslu'iteln` s Atari 400/ 800. Pam% RAM po')ta'e Atari 600XL bylo mo(no roz&)@it o dal&)ch 64KB na FJ}celkov`ch 80KB. Za t)mto ]'elem se vyr*b%la vn%j&) p@)pojn* pam% s ozna'en)m Atari 1064. D*le se k po')- ta'i m%l vyr*FK}b%t modul Atari 1090XL, jen( by obsahoval p%t konektor+ roz&)@en) PBI$ pro p@)davn[ karty.U Atari 800XL - V`roba FL}tohoto modelu b%(ela soub%(n% s modelem Atari 600XL. Po')ta' byl osazen mikroprocesorem 6502C na taktu 1.79MHz. Pam% RFM}AM m%la velikost 64KB, pam% ROM s opera'n)m syst[mem a interpretem jazyka BASIC 24KB. Profesion*ln) kl*vesnice typu QFN}WERTY se p%ti funk'n)mi kl*vesami. Dva joystickov[ porty na prav[ bo'n) stran% po')ta'e. Na zadn) stran% po')- ta'e koneFO}ktory SIO, PBI, TV, monitor, nap*jen)$ a vyp)na' nap*jen). Na horn) stran% po')ta'e mal* plechov* dv)@ka, pod kter`mi seFP} nach*z) konektor pro z*suvn` modul. Pam% bylo mo(no roz&)- @it na 128KB a tak[ a( na neuv%@itel- n`ch 1088KB. Opera'n)FQ} syst[m byl st*le trochu neslu'iteln` s Atari 400/800., Atari 1450XLD - Tento model m%l b`t vlajkovou lod) nov[ genFR}erace po')ta'+ Atari. Vyr*b%l se v&ak jen v omezen[m mno(stv) v roce 1984.$ Po')ta' byl osazen mikroprocesorem 6502C naFS} taktu 1.79MHz. Pam% RAM m%la velikost 64KB, pam% ROM s opera'n)m syst[mem a interpretem jazyka BASIC 24KB. Profesion*FT}ln) kl*vesnice typu QWERTY s dev)ti funk'n)mi kl*vesami. Dva joystickov[ porty, konektor z*suvn[ho modulu a vyp)na' napFU}*jen) na lev[ bo'n) stran% po')ta'e. Na zadn) stran% po')ta'e konektory SIO, PBI, TV, modem, monitor, nap*jen)$ a vyp)-FV} na' nap*jen). Na horn) stran% po')ta'e byla vestav%n*, oboustrann* disketov* jednotka 5.25", kter* pracovala ve dvojiFW}t[ hustot% z*znamu 180KB$. Uvnit@ po')ta'e vestav%n modem 300 Bd a @e'ov` syntez*torov` 'ip SC-01 pro nov` handler V: FX}VOICE$. Poprv[ byl pou(it nov` obvod pro @)zen) pam%ti "FREDDY".G Atari 1400XL - Tento model m%l b`t vylep&en)m AFY}tari 600XL a 800XL. V`roba byla zah*jena v roce 1984. Tento syst[m m%l v&echny rysy po')ta- 'e Atari 800XL, ale byl naFZ}v)c vybaven nov`m obvodem @)zen) pam%ti "FREDDY". Profesion*ln) kl*vesnice typu QWERTY s dev)ti funk'n)mi kl*vesami. DvaF[} joystickov[ porty, konektor z*suvn[ho modulu a vyp)na' nap*jen) na lev[ bo'n) stran% po')ta'e.; V roce 1984 firma ATAF\}RI zm%nila majitele a ten ji p@ejmenoval se na Atari Corporation. V&echny dosavadn) projekty osmibitov`ch dom*c)ch po')F]}ta- '+ byly opu&t%ny a zru&eny, a to v'etn% nov`ch Atari 1400XL a Atari 1450XLD. Nikdy se tak[ neza'al vyr*b%t p@ipravoF^}van` syst[m Atari 1650XLD, Atari 800XLD nebo Atari 1850XLD. Nov* generace osmibitov`ch dom*c)ch po')ta- '+ ATARI dostalaF_} do v)nku ozna'en) XE.* Atari 65XE - V`roba tohoto modelu byla zah*jena v roce 1985. Prakticky se v&ak jednalo o stF`}ar&) model Atari 800XL ve zcela nov[m kab*t%, jen( vych*zel z model+ ]sp%&n[ @ady ST. Poprv[ se tedy i zde objevuj) &ikFa}m[ funk'n) kl*vesy ve sv%tle &ed[ sk@)ce. Nov` po')ta' byl z hlediska software na 100 procent slu'iteln` s p@edchoz)miFb} modely Atari 400/800 a XL. Byl osazen nov` obvod @)zen) pam%i "FREDDY". Dva joystickov[ porty na prav[m boku po')- tFc}a'e. Konektor pro z*suvn` modul p@em)st%n na zadn) '*st po')ta'e. Nebyl zabudov*n konektor roz&)@en[ cartridge ECI$.@Fd} Atari 800XE - V`roba tohoto modelu byla zah*jena v roce 1985. Jednalo se o evropsk` protipl americk[ho modelu AtaFe}ri 65XE. V z*sad% se tedy jedn* o Atari 65XE. Jedin`m rozd)lem je hlavn) deska, na kter[ je ji( p@ipraven[ m)sto pro Ff}roz&)@en) pam%ti na 128KB. Na zadn) stran% konektor roz&)@en[ cartridge ECI$.J Atari 130XE - V`roba byla zah*jenaFg} soub%(n% s modelem 800XE a tak[ zde se v z*sad% jednalo o Atari 65XE. Pam% RAM m%la velikost 128KB. Na zadn) stran%Fh} konektor roz&)@en[ cartridge ECI$. Ostatn) beze zm%n.- Atari XEGS - V`roba tohoto modelu byla zah*jena v roce 19Fi}87. Atari XEGS vych*zel z modelu Atari 65XE a sp)&e se jednalo o hern) syst[m ne( o po')ta'. Tento syst[m m%l ale oprotiFj} jin`m hern)m syst[m+m vn%j&) odd%litelnou kl*vesni- ci a to ho k po')ta'+m velice p@ibli- (ovalo. Hern) syst[m Atari XEFk}GS byl prod*v*n v'etn% joysticku, sv%teln[ pistole a n%kolika her v z*suvn`ch modulech.p A to u( je ze sv%ta osmibitovFl}`ch dom*c)ch po')ta'+ firmy ATARI v&e. D*le se firma ATARI orientovala pouze na perspektivn) &estn*cti a dvaat@icetibFm}itov[ po')ta'e. V`voj se prost% ned* zastavit. -JP- fffff0 0l8||l8||l8||l8 8` 8Fn}< |~~8l8~00`~ 00 0`||8~| 0` 8 | xFp}|||||||~|l8l8lf< 0` ||Fq} ~l| |~l8||6 || 0`0>`<|f<``~~8<8<||Ft}~~||00~l8|ll8l~ 8`8 pp|l|~l|pM 7 ppOppCFu}pSqApppNCrqBJqC+ BJqpSwvAfp#odeW$esign*0echer-usic-0eout4ext*0echer#opyrightF#Fv}U,(i:darvematarist maosmibitov`mzvl T)4aksen mpomalubl  konecroku atakmnenapadlo vyu ttenFw}tokulat`letopoetkrekapitulacitoho covechnosevoblastihardwareosmibitov`chpo ta znaky!4!2)vyrobilooddobyFx}jejichprvn houveden natrh vroce dodobysouasn;. sleduj c textjetedyzam ennapopisvechs;riovvyr bFy}n`chmodel osmibitov`chpo ta znaky!4!2))4rochukovl d n programu0 iprohl en textupouijtekurzorov;kl veFz}syseipkaminahoruadolu pron vratnatituln obrazovkustiskntekl vesu%3#+l vesa2%3%4zp sob skokdo3%,&4%34uF{})0rogramypouit;p iv`rob!4!2)()34/29-!# #-# 4- $%3)'.-!34%2 0)#452%%$)4/2 C!0%+a6)3)#/0F|}9))!naz vrjetpozdravypro"%7%3/&4 $!42) 2!34%2 &,/0 %8-).39 3!4!.42/.)# '-'avechnydal adal )F}}3tiskni30!#%provstupdo!4!2)()34/29!tari#orporation 3unnyvale #! 53!Q0ower7ithoutthe0riceQ!tari(omeF~}#omputer$ivisionQ!tari the!tarilogo 8%and8,aretrademarksorregisteredtrademarksof!tari#orporationQF#!tariF}!llrightsreservedKة/@҅ԩ( | lqYpZpp01C|ōԢF}{(()}ĢJqSpTp {ԩ"/ ~pSpTp |6ҠpSpTp |%pSpTp |"qSpTp |LzF}/@ԩ6 :lvppfp01|ōԢ{(() {ԩ"/ d~ }~@ʄ F}~   Le{L}L} ~LzM$YpZpZpvYp@ qYpZpťō`M$pppxp F}lvppťō``` | {!L| (|`/|L-|΍/|} {`HHHp ԎʈF}0 Ԉ} ԍ  ԍhhh@HH} ԍ򠂌 Ԉ} ԍ ԍhh@ȩ ɠɥF}, 7*H<*h0i(Ȱީ ٩۩@0>ٽl}ڽ}*׽<*ؤݥבפޥב۰FFܐް` F}  77 r  d~ЄeЅʥeх ~L`{ d~Є8F}ʥх ~L`{ʤˆ̄͢+΄ϩ Щ(Ѣ S~`H*)h]`~`@ `  q q`  F}q q`p } }~ \`@ }b \` LbD>?>??pF}~70onj8~7o0cǀpcǀpcF}ǀpp|xxx8<~0F}p?<?|??>?? =F}sC==?s@twtC=@=?C=@O?Cs@twtF}?@O?Cs@twt?@A_S?UCstwt?WT@@?@C?@F}@?@?C@?@?C_@?@?CO@?@Ctt?O@F}?C?O?CttP?O?tt@??F}@??T??@??OC??UW?O OC?F}U?@?C MM?C?@?@?COMO?C?@?O?@ @M@?@?O?@?OF}?@ @M@?@?O?@?O?@?C OO@?@?O堎 we2u<~&Pa=Iٯ2F}hQpShp 0     p pF}     gVUD3gE32dwgfh4#xVUgUjE43xfUD3#WUED3"ZxwfUEDF}gUE43G#xfUUDDxfUED3BvgD5"x`figE43!"3CDUeKwfUF#&" "/F}$ 0# ! 2GGGGGGBBBBBBDDDDDD@@@@BDGBF}D@ __k_m_n_k_m_n_k_m_n_k_m_n_ZZfZhZiZfZhZiZfZhZiZfZhZiZ GJGEGGJGJGEGGGJLGEGGJGEGJGBDEGEBEBBDEGF}EEDB@DB__________SS__S_S_SS__S_S_BBZZBZBZBBZZBZBZDDPPDPDPDDPPDPDP@@LL@L@L@@LL@L@L __abB _ab__abB _abZZ\]B ZF}\]ZZ\]B Z\]\\]_B \]_\\]_B \]_XXZ[B XZ[XXZ[B XZ[GSBSGSBSBBBBBBBBDPBPDPBP@LBL@F}LBLGIBDBD@@BDS_B SGSTGSGSGSSTSQSGSGSTVTGTVTVGSGEGSGSTGSGSGSSTSQSGSGSTVTGTVTVGXGEGSSSSSSSF}SSSBBBBBBBBBB__________ZZZZZZZZZZZZSXXVSSPQPQPQPQQPPUUSPPLNLNLNF}LNNLSXXVSSPQPQPQPQQPPUUSPPLNLNLNLNNL SSTSSSSTSQSSSTVTTVTVSSSTSSSSTSQSSSTVTTVTVXF}SS__S_S_SS__S_S_SS__S_S_SS__S_S_SS__S_S_SS__S_S_SS__S_S_SS__S_S_SS__S_S_SS__S_S_SS__S_S_SS__S_S_QQ]]Q]Q]QQ]]Q]Q]QQ]]Q]Q]F}QQ]]Q]Q]SVSBSVSVSBSVSVSBSVSVSBSVSVSBSVSVSBSVSVSBSVSVSBSVSXXVSSPQPQPQPQQPPUUSF}PPLNLNLNLNL SSTSSSSTSQSSSTVTTVTVSQQRQQQQRQOQQQRTRRTRTQS GGGIGJSSVSVS GJGIGJGJSSVSVN BEBF}DBEENNPNPN NQPQNNNPNPSSSVSVSSSVSVNNNPNPN@@@@NNPNPVQSSUVUQLNNPQPSNPPQSQPLNNPQPF}VQSSUVUQLNNPQPSNPPQSQPLNNP|BB~~~~~_SSBDXXXXXGSGBSGSGSBSGGSGBSGSF}GSBSGBZBBBZBZBBBZBZBBBZBZBBBZGSGBSGSGSBSGGSGBSGSGSBSGBZBBBZBZBBBZBZBBBBBZF}BBBZS@@@@~~@@SS@@SSSSSSSSVSBSVSVSBSVSVSBSVSVSBSVQTQBQTQTQBQTQTQF}BQTQTQBBGSBSGSBSBBBBBBBBDPBPDPBP@LBL@L@@@@S GGGIGJSSVSVS GJGIGJF}GJSSVSVN BEBDBEENNPNPN BEDEBNNPNP GBBBBBS@@__ZP@@@@@@B@LԘLݑL5L_F}U-Z*U-Z*,YU &00ˑ̑͑)pJ  ҩܑ͑̑ˑLF}I ԑՑɏ T T`đ􍆑ǑɑБёԑՑ iUF}0LɏΑϑ`Αϑ`БёiґiӑiԑiՑΑϑҩܑ쩀đ`F}ˑ)đ͑̑ˑ͑ Бi0Hёihe֑iّБiёi͑ m͑ ͑ȱ)F}/0͑ȱJmˑˑ&) ȌˑL㓱͑ȱ)mˑˑˑ)(ݖ8͑H)F}hJ>7 0 i&`@إHHHHܑLǑLΑϑLߕLđ0đԑՑF}ɑʑȑʑ荇iU7L3/J)   [UЋF}LLo#-7C` `0`08`0e`0ߍΑϑ`0ӭ0ȌȑeɑʑT`0 ɏ`޾WđF}R@Kґӑi@) )?@ )? Lϕɀ )?)?ϑΑϑ)F}()ّ֑7!.ޥ&LmJJ))F}ݙ( = 8)ʘ)(i%轟))F}đ @đJJ}}0L) H)) F}ҽ(h)Эhhhh`xrke_ZUPKGC?<852/,*'%#! F} οzqke_VPg`ZUQLHC?=9439-*(%$! 8 j jFAn0R"F}zU4w`N8'xpjd^WR2 @5?@ 1Tn0R"Dg6}ԍԢ6L01N2734~5 %@L<2!01 aL% a201 a26 a26LDJ}232435hh`堎 k(e7аcUm7 0 i6%`6%w%%إHHHHTL%?Lj#FGLW#L}"<0<3LM"AJ}B@B0iÙ"7L!3/J)"f""g"1 [Ù"Ћ"L%L"J}""""""" u `0`08`0e`0ߍFG`0ӭ20Ȍ@eA2BT`0 ɏ`66W<R0@KJ}JKi@3) )?93@ )?9 LG#ɀ )?63)?GFG )J} (  )NQ7!.&&L#JJ) )J}( =#  /8)B&)(i)% /  ))&<J} @<# JJ}}0L# )/ H"%)) ҽJ}(h)Э hhhh`xrke_ZUPKGC?<852/,*'%#! J}οzqke_VPg`ZUQLHC?=9439-*(%$! 8 j jFAn0R"zU4J}w`N8'xpjd^WR2 @5?@ &ܽfffff>`<|fl0J}fF68of;p88pf< 80 0 ~~`0 0`8l|||J}|~~~ x|||||||88|l8J}l88l8 0`@`0 xx6c 6>8pp8?J} ww<~<x`x`~<~~<0~0J} ~ <~~<<>f>``|ff|<`<>ff>>ff>|``|f8<<``lxlf8<fkc|f<fff>|f`>`<|~f>f<ck>6f< x~ 0~<~~<~x|nf8x8 6J}6lffff~<<0 0 <<`0 0`f~f<<<f<fflxlff`~cwkcffv~nffp`<|~fv<J}f6ckwcffv<fffn<|n 0f~@`0 xx6c ~~<>ff>``|vff|6vff>>|``|f 8< lf>``lxlff8<f{kcc6|nfnff>6|nf`6>`<|>lf>f66J}ff8fflf><6~f 0~<~~<~<UU<~~<<>ff>``|vff|vff>>|``|f8J}<f<``lxlff8<f{kcc|nfnff>|nf`>`<|>f>f6cck{6ff8fff><J}~f 0~<~~<~x|nf8x8TTTTTT (  <*J}XZTUPTXUXܘT@@T@TP)PTP  J}  *XXZXTTUTPTXTXUXTX pN0BP4pppppB4pB50RP50B05A4 02/'2!--).'J}*)2)0%#(%2'2!0()#3*)2)0%#(%2-53)# -!2%+0%3/54 #:%#(2%05",)##/092)'(4# 02%3334!24/2&)2%4/"%J}').@#(i:dravImvSechnyosmibitovE!taristya!tari maniakyapReji6eselEvAnoce!0ovelmikrAtkEodmlcejetadyopWtJ}novYproduktfirmy3/&47!2%"9*0%#(%230/,!0onaSempRedchozImproduktu textovEmdemu!4!2)()34/29 vAmtentokrAtJ}nabIzImegrafickEdemopodnAzvem4(%42!).!$alSIprogramovEvYtvoryfirmybudoubrzynAsledovatataksemAteurCitWnaJ}cotWSit!+dybysitedysnadnWkdomyslel ZeosmibitovEpoCItaCe!tarijsoujiZdAvnomrtvE taknatotImtomJZeklidnWzaJ}pomenout!:apArdnIbuderokatoznamenA ZeosmibitovEpoCItaCe!taribudounatomtosvWtWjiZlet!4otodemJ}obylodokonCenodnenapoCItaCi!tari8% zavydatnEpomocitWchtoprogramJ-!# #-# 4- 0)#452J}%%$)4/2a6)3)#/09)!#hcete liminapsat anebomAtezAjemonWjakYsoftwarenamalE!tari takzdejemojeadresaJ}*iRI0echer .ovA #heb  % mail*0echer seznamcz!!nazAvWrtohototextujeStWpozdravypro"%7%3/&4 $!42) 2!J}34%2 &,/0 %8-).39 3!4!.42/.)# '-'avSechnydalSIadalSIw/@Ԣ<  A>֍؍J}ڍ(P5?4@4401S=čԢ<()ԩ!/ƅǩȭ/P | ==L)MM$J}?4@4@4:?4 P5?4@4ĥč`ŭō`Ƚ!==4/=A4Ȧȩ`P@0  0@ 0@J}P@0 ``H ԍЩch@HH= ԍh, ԍ ԩ ԍ S  \`@ b \` LbܕUUYUiUUUYUYJ}UYUVjUeUUYUZUUVUeUUUiUZUVUUUUVVUYYVjUiUVfUUZjUUiYVjjUUVVUjJ}fUeUUjUUV UiUUZYUUUi UZfjUVUUZ UjjjUUjYUVjZZUV&UVVUYeUUUUiYjJ}UUYUYUUUjjUeUUjYUVUUUVUeUfVUZZZUVUeUZZjiVUZUiYVVjUfUUZ#UUUUYUiUVK}fYUUUUUVYYUUjUeUUjYUYjUUVUeUfUUZZUVUeUZVVUYUUYUiYVFiUUe UYUVjK}{iFjUU UVVgVFjUiUZ FUZ UZjEZZVYUUeUYjzjjkEUYUjUK}YUUZZ[YjeUjiUUUjjUUUUYRjjVeUiVK}ꦪEZjiZUZjfjZVVZiVVejUVjijK}UjejjDjj4YUjj[UfjjK}*WUZVijjWVV&֪UVUWVUUYUTZjZK}UZ UZWUieZ ժUhjVnUifVUZZjZU5UUTiUQiUjeZ Uj5UUTUZK}UUUZiiYUV5UUTVUUj jUiV7UUSVTTVUUVUU5UjUU5UUPVgV]K}UuYV5ZYi=]U@UWo(U@W]WuYU5UUk7uCzV]@U]}Ue*jf> ?1WV(?ZT7K }j*+71UuW0U_UT.*37htUT17A{CT"J&*7?K }Wt*(@]uEt7??=RATT**.f7?)@7*|@Ue7i?MD?@|K }GWtU@*j&f*&0b$fi@$;?P4D|5 @,(h*@AP 0**d|( @K }@0DD@) H"i@U$(*E@0@CUE@T  EUTU@K } 0 U@P"0 pN@Kp^^^^^^^^^^^^^^^^^^^^^^K}^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^K}^^NUAL@ԩ M M N A> L01ԢߠM()"/LMULK}/P | ML<`~湥`~םULVL`M殥$ULULŬ M M NPK}`8媅~ 4N8-`AĪe`U N`[ N`Oa K}N`e N`j N`o N`Zt N`-y N`ׅ(O ʽOOOOH hLNiK}ɠ`bNrNNNNNNNK}U((UYUeUVUYUeUVUYUeUVUYUeUVUYUeUVUYUeUTP@TP@TP@TP@TP@TPTP@TP@TPK}@TP@TP@TPTU@ ?P?K}?U@jeUfUUZ:dAAfZ:dAAK}fUUYV:dAAfV:dAAfUUYV:dAAfV:dAAfUUYV:dAAfZ:eK}UfUUZ:fiif:fiifUUZ:fiif:fiifUUZ:fiifK}:fiifUUZ:fiiffiifUUZ0 0fiif]Uڮ 0fiifڭ^ 0K}fiif]Uڮ 0fiifڭ^ 0fiif]Uڮ 0fiifꮪ^ 0fiifꮪ 0fiK}ifꮪ^ 0fiifꮪ 0fiifꮪ^ 0fiifꮪ 0fiifꮪ^ 0e]U]U]fꮪK} 0jꮪꮦꮪ U_UTUZ jUTUTUZ jUTWU_TUPVTPETAPUPAQ@PVK}TTUT@ @PUTPVTUZUUCVWUUCUWUUCUWUAUAUVeVU%AUAXUYTTV%K}eVV%AUAXYXVUUVAUAZUUZTUՕAUAVWVUUUPUTUTTUU@@UTUTTTPK}PPP@@3 @@@@@@@@@@@K }@@@@@@@@@@@@@@@@@K!}@@@@@@@@@@@@@@@@@@@@K"}@@@@@@@@@@@@@@@@@@K#}@@@U@@@@@@U@@jjjTU@P%VE@UUUPTXT@@TUUUPVVP@K$}@@PZP@%TXP%XDPXPUZ@UPVV%V X%V X X %` K%}w(30;#<.,;3;/328̻̋<3U@@@UjjjVUK=}jjjYjejjjZfjjjnjjZfjjjYjenjjVUjK>}jjUojjUjjjVUojjYjejjjZfjjjZjjjZK?}jjjZjjjZ@jjZ@jjZ@~x?~|x?|>~x?=<><~<<<|<<~<|8~<8OJ}8~?<~<8<8<><<~8~<|0<00?<~<0<0<><<~0<>p<x0p<>p<|p?><|p<>pOK}p<0<<?<8?0>0>8<0?<<~00~~<<|<0~~?xx??~x?OM}~~xx?~x? fffff>`<|fl0fF68of;p88pf<8|||~~|8||~<|OP}|<~6||8|8<<|88p808||p88p6c OQ}x`x`~<~~<0~0 ~ <~~<<>f>``|ff|<`<>ff>>ff>|``|fOR}8<<``lxlf8<fkc|f<f<|ff|``>ff>|f`>`<|~f>f<ck>6f< xOS}~ 0~<~~<~x|nf8x8ppO:pM@@PCA PM@@B@ ppM`@PR@BPM`@A@ U UA OT}!,0(!",!$%)../6-)./3./34!,3(!$/73#)%.#%4)#+%47!2%::#6 0/)3/.-53)#$%-/./OU} 02/'2!--).'"9*)2)0%#(%2 -53)#"9-!2%+0%3/54 .%73/&47!2%&/23-!,,!4!2)#/-054%23 #/092)'(4OV};#= #:%#(2%05",)# 53%#523/2+%93/2.5-%2)#+%93 4/#(!.'%-53)# &/@҅ >OW}E D(x<Ѝ Щ ЩТ@B7@8@@01EčԢPEx()OX}!/LnDP AH GE EŅ E 0E GEȤ ELDLDLD D 0ELfDLDLD LD LD 0ELfDOY}/P AHLC9F `%F̽&F͠) ` FȽFɽ%Fʽ&F`I ```MOZ}$7@8@8@C7@ɣ @B7@8@ĥč`HH ԩ\ЩuЍhh@p AH AH̢E \`@ AHb \`GHCF@O[}@TF@@HHCF@@TF@@IHCF@@TF@@ DHLbPT[fq6v A,ALAlAAAAA B,B3502ABCDEFG H ABO\}CDEFGHLOLHLJL_@+HHH)pJHHHHҩHHHHLhYH IIlIIIIsIHHO]}ɏ T T`KHHHHJHHHHHHHKH iU0LeIɏ⎒HO^}H`HH`HHiHiHiHiHHHҩHGHfH쩀H`H)HHHHO_}HoHfHiH Hi0HHiheHiHHiHiH mH HȱxHuHrHlH)JJO`}HȱJmHHJlH) ZHȌHLJZHHȱ)mHHHlH)(ZH8]HHH)OcHhJ>7 Oa}0 iN`H`NNOإHHHHHLaNHLLH͓HLLJHLKH0HHHHKHK̍HHKHHKHΎOb}HKH|HiUKHK7KHLKKKH3/J)KKKK}H s[KHUKЋKKHLaNL3LKKKKKL$LOc} I`0`08`0e`0ߍHH`0ӭ~H0ȌHeH~HHT`0 ɏ`HނHWHR|H@KHHOd}i@H) )?HH@ )?H ILLɀ )?HHJH)?JHΓHHHJHKH]HlH)XHOe}(YHlH)QHHHfH7!iH.iHiH&GHGHrHiHL1MfHJJ)GHZHlH)]H( =oH ]HOf}GHUH{HfH8)OfH)(iuH%`HUH{HXHYHcHQHfH)fHfH)rHiHH GH@HoOg}HlHJJ}ZHZH]H}]H]H0LLQHTHlH){H HnN)) UHҽGHGHQH(Oh}h)ЭYHhhhh`xrke_ZUPKGC?<852/,*'%#! οOi}zqke_VPg`ZUQLHC?=9439-*(%$! 8 j jFAn0R"zU4wOj}`N8'xpjd^WR2 @5?@ Oh堎 Vr2,8STSSTTS9 Ok}p̀shE3"fUDX[4hE3$GPQRQNLLNQQNLLNSQQNLLNQOl}QNLNUUUXXXQNLLNQQNLNQNLLNSSSQQQNLLNQQNLNUUUUSXSUyy~yy~yy~yy~yy~yyOm}~yy~yy~y@@y~@@@y@@y~@@@y@@y~@@@y@@y~@@@y@@y~@@@y@@y~@@@y@@y~@On}@@y@@y~@@@]]\]\Z]]_]\]]\\ZZXXWUBBBBBBBBBGGGGGGGGG@@@@@@@@@IIIIIIIIIOo}]]\]\Z]]_]\]]\\ZZXXZY堎  *lfp b,[WZXZYXYXYZZ[[Z[[-p pOp}pQppdVD43ߛwfUygUygU7W4"UUGD3"ϚwgffϊV4   Oq} ; =    >LLXXLXLXLLXXLXLXLLXXLXLXLLXXLXLXLLXXLXLXLLXXLXLXLLXXLXLXLLXXLOr}XLXLLXXLXLXLLXXLXLXLLXXLXLXLLXXLXLXLLXXLXLXLLXXLXLXLLXXLXLXLLXXLXLXQQ]]Q]Q]QQ]]Q]QOs}]QQ]]Q]Q]QQ]]Q]Q]QQ]]Q]Q]QQ]]Q]Q]QQ]]Q]Q]QQ]]Q]Q]SS__S_S_SS__S_S_SS__S_S_SS__S_S_BOt}BZZBZBZBBZZBZBZBBZZBZBZBBZZBZBZGGIJGGIJGGIJGGIJGGIJGGIJGGIJGGIJBBDEBBDEBBDEBBDEBBDEBBDEBBDEBBDEEEGHEEGHEEOu}GHEEGHEEGHEEGHEEGHEEGHEEGHEEGHEEGHEEGHEEGHEEGHEEGHEEGH@S@S@S@S@S@S@S@S@B@B@B@Ov}B@B@B@B@B@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@QOw}@X@X@X@X@X@X@X@X@X@X@X@X@X@X@X@XXVTSVUSQTSQLOx}OLTSQLXXVXTXSXOLXXVXTXSXVXTXSXLLNOLLNOLLNOLLNOLLNOLLNOLLNOLLNOLLNOLLNOLLNOLLNOLLNOLLNOLLNOLLNOXXVXTXSXOy}SXTXSXVXVXTXSXSXTXSXVXVXTXSXSXTXSXVXVXTXSXSXTXSXVXXVTSXSXXSXVUSQNNNSOQ堎 ROz}]YEQl$ eY,~۞MC\LHHee^__`b__`abda_`cabdcefefcfdfe  pO{}ppOhE3"F#i$F#E#"ϚwgffsxVUDiUEDD3zED3"ϚwgffϚwgff_UDh O|}    1      $"2 !  3ddddddd__O}}__ddddddd____]]bbbbbbbb]]____XVXXVdbddb______O~}__________________________________________________XVXXXXXVXO}dbdddddbd__________________________________________y____yyp_yO}_ypp_yyppypypyyppypyppyyppypypyyppypyXXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdX@O} LLXLVLJLSLVLXLXLJLSLVLVLXLXLXLVLJLSLVLXLXLJLSLVLVLXLXL LLXLVLJLSLVLXLXLJLSLVLVLXLXLXLVLJLSLVLXLXLJLSLVO}LVLXL X L X L X L V L X L X LX L X L [ L X L [ LSL] LXL] L_ L X L X L X L V L X L X L_ L X L [ L X L [ LSLZ LXL] L[O} L X L X L X L V L X L X LX L X L [ L X L [ LSL] LQ L] L_ L X L X L X L V L X L X L_ L X L [ L X L [ LSL] LXL_ Lb LO}__b_d___d___d_d_b_____b_______]___b_d___d___d_d_b_____b_______O}]_XXdXXdXdXXdXXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdX XXdX dXdX XXdX dXdX XXdX dXdX XO}XdX dXdX XXdX dXdX XXdX dXdX XXdX dXdX XXdX dXdX dLbLVL_LbLSL]L\L\L]LJL_L`LbLXLdLdLbLVL_LbLSL]L\L\L]LJL_L`LbLdLiLO}XXyyyppyypyppyyppyppyypyppyyppyyppypypyyppypyppyyppypypyyppypyppdyO}XXpdpdXXXXdXXXXdXXXXdXXXXdXXXXdXXXXdXXypyypppydydpdppypydpdpdydydpdppyO}pydpdppydydpdppypydpdpdydydpdppypydpdpp XLZL[L]_L_]L[LZLXLZL[L]_L_]O}LLXXddddddd____ddddddd______]]bbbbbbbb]]bbO}bbbbbb XLZL[L]_L_]L[LZLXLZL[L]_L_] LXZ[ XLZL[LJ]_L_]J[QZSXLZLO}[LJ]_Q_] XVX_]_ddddddd____]]bbbbbbbb XLZL[]__][ZXLZL[O}]__]L堎 ʅ'Y(h4~j#adLЩ 4Ӎ 8ര 2435 Xۦ 論򅖩2e43eW}5Ji?Щ} G G E43-)Ji?Щ2 wՍЩ Цt XЍ а & 6 L<Ӎө lW}  iʽHyHLUҩ uҎҩ w` GL O#3Ji?Х2J0j%7 )008W}`` e`  ꈄ DLt}Universal TURBO Loader - (c)JRC 1991Load Error !Incorrect Address ! ɩW}ʍӢj *LԌԌҍ`  J7@ JJI88j98j: OԤ8 J9@7`6 1W}L JX9 OQ: OH8(6E<: <22238i< J9&<81E<124351hӥҩ@`8օ9 JW} Oܰ OҠLC;CD C  DLtD @ABLC1hӥҩ@`8օ9 JT^.cc65.org...% nenapad*, co bych mohl na Atari naprogramovat... Ale n%kte@) z V*s ji ur'it% vyu(ij). Tak(e hur* na http://www<