I I I

\ ~ \ \\ PRO MAJITELE POCfTACU: ' ZX-SPECTRUM, A KOMPATIBILNf .-..------Informace o rocníku "'92

Zamerení: uživatelské programy, hardware, schémata zapojení, výuka programování rady a informace pro zacátecníky zajímavé logické a koverLacní hry speciální rubrika pro uživatele editoru grafika a její animace na SPECTRU rubrika pro uživatele disketové jednotky D 40, popr. 3.5" jednotky D80 tiskárny - typy tiskáren, vlastnosti, zapojení a jaké programy k nim robotika aneb pobyblivá hracka rízená pocítacem Yyjfk: v roce 1992 vyjde celkem 6 císel Jak si je predplatit? Cena jednoho císla je 14.-- Kcs. Vynásobte si pocel objednaných císel krát 14, ale respektujte pritom termíny, do kterých je nutno predplatit príslušné císlo, a to: 6 císel (celý rocník) do 15. 3.1992 5 císel (2 až 6) do 30. 4. 1992 4 císla (3 až 6) do I. 6. 1992 3 císla (4 až 6) do 15. 7. 1992, dále pak je již nutno pockat na další rocník Nejpozdeji do tohoto data musíme obdržet predplatné. Objednávkou je príslušná cástka zaplacená poukázkou typu "e" (žlutá) na naši adresu:

PROXIMA. box 24. 400 21 Ústí nad Labem 2

Na druhou stranu poukázky, do kolonky "zpráva pro príjemce" napište PREDPL4TNÉ ZXM '92. Žádnou další objedIL1vku jiŽ není treba posflal! Nezapomente napsat úplnou adresu vcelné PSC na složenku - redakce nemuže rucit za chyby vznikJé prepisováním neúplných ci necitelných adres'

___ V_príštích císlech ~ravuj_em_e_: __

další kolo otázek do souteže "10. výrocí Spcctra" jak na JUGGRENAUTa a na DEI<'ENDER 01<'TlU: CROWN (manuály ke hr;;m) organizace obrazové pameti u 7,)( Spectra hezkontaktní klávesnice CONSIJL ke Spectru další informace o NMI (chyba v rutine v ROM originálního Spectra) pravidelné ruhriky, inzertní pffloha "co delají Spcctrístt" - odpovedi na otázky. které jsme položili autorum w.1mýd1 programu. neho lidem. kterí se jinak l.aslo1l7.ilio rozvoj poNlacu Spectrum a kompatihiliú. Z.XM 3/19n POHÁOKA o MALEM KOSMONAUTOVI + OBSAH

POHÁDKA O MALÉM KOSMONAUTOVI

Jednou po obede si vyšli dl!de\!ek s babi\!kou do lesa sbírat maliny & ostru1.iny. Vtom se pred nimi na palouku objevil malý kosmonaut. Prilba se mu v odpoledním slunci leskla a ml!I na ní dve roztomilé anténky. Dede\!ek s babi\!kou se za radovali a dojatý kosmonaut se rozhodl, že jim pri\!aruje dárek. Na místl! kde ješte pred chv1lf siál. byl už jenom mlžný opar a na parezu opodál stála velká .Irevl!ná bedna. Dl!de~ek hodil bednu do nuše a odnesli si ji do chaloupky. Ve svl!tnici hednu rozsekal sekerou - medvl!dobijkou na trísky a spatril neco, co mu vyrazilo dech: úplne nový poWa~. dokonce i s monitorem a myš'(! Myš l.1jímala dedecka ze všeho nejvíc a tak ji za.:!al podrobné z;'oumal. když vtom dvere od svctnice l.'\skrípaly a dovnitr vešel babi\!cin tygr. Bahi.:!ka si odjakiiva potrpela na ncjake to domácí zvíre ... Jakmile šelma spatrila Wodavce, její o\!i l.1mžikaly, drápy se vysunuly (srst se naježila - pozn. autora) a pripravila se ke skok"U. Naštestí sta.:!iIdMe.:!ek v\!as rukou, ve které ddel myš, uhnout, a tak tes.1ky sjely pouze po Wadkém skIc monitoru. Obrazovka z nepcustrelného skla naštestí moe neutrpela, chudák tygr se ale neobešel bez nové zubni protézy. Dedecek si v manuáJu pre\!etl: "Po\!íta\! zapojte do síte ..;" r šel dédccek do mésta koupit porádné klubko provazu a babicka z néj doma upletla prekrásnou sít. Zástrcku od poWace pripevnili na síf, kde se utvorilo speciální magnetické pole, elektrony se rozproudily a obrazovka' monitoru se rozz:lrila. Dcdel!ek s babi\!kou se naucili programovat a jestJl nezemreli, štastne programují dodnes ...

Príjemné poctení vám preje Pavel Pospíšil (autor Pohádky) a redakce ZXM.

OBSAH 3. CíSLA

Poh:ldka o malém kosmonautovi + obsah I OvMdání 040 ze strojového kódu (dH druhý) 2 FIGI-rfER BOMBER - manuál ke hre 5 HISOFf BASrC - minimanuál 8 11rE UNfOUCHABlES - dokoncení 10 Animace (dJ.1lrett) II Nl!kolik informací o tiskámc NI. 2805 13 PC monitor a BREAK pres NMr 14 Koutek pro uživatele DESKTOPu 16 Doznání (úplné) 17 Zvukový intcrface ~1ELODIK - recenze 18 Šifrov:~í dat 19 Soutež (\!ást pl"Vnt) . 21 Pocíta\!ové pirátství 23 Strojový kód Z-80 (.111.lruhý) 25 LEMMINGS - hor!;'i novinka' 27 lQ-lOO: novin.ka s 24 jehlickami 29 KUD I, poslední inform.1ce 30 ROZšírení poulUeInostl néklcl'ých tuzcmsL:ých periférií 31 Drobnosti DIDAKTIK D-40 (díl tleli) 32 - 1-

•. ZXM 3/1992 oVLÁDÁNI D40 ZE STROJOVÉHO KÓDU - DÍL DRUHÝ

Ovládání D40 ze strojového kódu (pokra~ov:lní, díl druhý)

Minule jsme si povedeli, jak mnžeme ovl:1dat disketovou mechaniku pomocí basicovských ph1cazn ze strojového kódu. Víme tedy, jak ze strojového kódu zavolat libovolný ph1:az basicu a zase se vr:1tit zpet do strojového kódu. Poslední, co n.:1mzbýv:1je ošetrení chyb. Budeme chtít, aby se program vr:1til do strojového kódu a abychom mohli poznat, k jaké chybe došlo. N:1š program pak už na uživatele nevybafne S File not (ound ale hezky cesky a mile mu oznámí Bud jste si spletl disketu nebo oú zadal špatné jméno souboru, nemohu jej nalézt! nebo mu sproste vynad:1 slovy Ty troubo, spletl sis disketu nebo jméno souboru!, který z techto textu zvolíte, už bude z:1ležet vy1lradne na vás.

OOležité je, aby váš program neztratil kontrolu nad pocítacem, k cemuž by po chybe obvykle došlo - ne každý uživatel má takové znalosti a schopnosti, aby napsal RUN, v horším prípade GO TO nnnn, nebo v nejhorším prípade R\.NDOMlZE USR nnnnn.

Už jsem toho napovídal dost a tak se pustíme do práce, prohJédnete si následující výpis strojového kódu, vetšina by pro vás již nemela být žádnou záhadou, zbylé cásti si vysvetlíme:

Id hld,de,SP2Bhl,SP2hl,3000a,1hl,(23613)e,a,195de(23296)(23297)(23618)(23620)(SP2+l),sp(hl)(hl),d,e ,a,hl ;na adrese 23296 vytvor IddecpushIdinc hl Id ;instrukci jp SP2 Id

;príkaz v BASICu je první ;pfíkaz na rádku císlo 3000

;pfecti si ukazatel na adresu ;chybovÓho návratu, precti si ;adresu, kam se bude pri chyb~ ;odskakovat a ulo! ji na ;zásobník, ulo! tam taká ;adresu, odkud jsi vzal vy~~í ; odskokov9 adresy

;do DE dej adresu SP2B, ;na tomto míst~ bude program ;po chyb~ pokracovat, zapiš ji ;na místo chybového návratu

-2- ZXM 3/1992Id oVLÁDÁNI D40 ZE STROJOVÉHO KÓDU - DIL DRUHY deccallincIdeijppopId SP2 ret im 1 :nastav v§e potrebné a vrat SP2B sp,hl se do BASICU k proveden! iy,236l0 urceného príkazu (iy+O) ,255 nastav chybové hláiien! na 255

7030

a, (iy+O) :c!slo chyby zmen§ené o 1, a ;po úprav" znamená O stav OK ERROR ;a jiné císlo znamená chybu

sp,O ;obnov hodnotu registru SP hl do HL ukazatel na chybový de návrat a do DE jeho p~vodn! (hl) ,d hodnotu, vrat vile zpátky hl (hl) ,e

;vrat se z podprogramu

Programový rádek v BASlCu mdže vypadat treba nejak takhle • náš príklad vypíše katalog diskety, pocká na stisk libovolné klávesy a pak se vrátí zpátky:

3000 CLS: CAT: PAUSE O: RANDOMIZE USR 23296

Cinnost programu si nyní okomentujeme - nejprve se na adrcse 23296 vytvorí skok zpátky do tohoto programu (proc je to zrovna takhle jsme si již povedeli minule). Pak se do systémových promenných NEWPPC a NSPPC zapíše císlo r:1dl.:ua císlo príkazu, Icterým se má v BASlCu pokracovat. Následuje zjištení adresy, kde jc uložena adresa chybového návratu - ta sc precte a spolu s adresou, kde byla uložena uloží na zásobník, Na její místo se zapíše námi dosazená adresa pro odskok po chybe. Pak se nastaví z:!sobník na svou pl1vodní hodnotu (kterou mel prirazenu BASICem, nastaví se registr lY "a na adresu 23610 se zapíše císlo 255 - tato adresa obsahuje iníormace o poslední chybe a císlo 255 znamená, že k žádné chybe nedošlo. Tato instrukcc není potrebná, pokud ze strojového kódu volát.: pouze príkazy nonnální ROM (ty príkazy, které pracují i bez pripojení disketové mechaniky), v príPólde, že vol:!te príkazy stínové ROM (což v našem prípade ano), musíte Mo instrukci uvést.

S/fno.'d ROJI tolÍ:' použf.'d k prepfndnf stejný mechanismus, jako probíhá pn chyb; (interpretace dalšfch pn'J;a;;Aje provádena tak, ze se nejprve použije interpret v normální ROJI, ten nale;:Jfe chybu a provede odskok na adresu 8, kde by se ml10 normáln; vyti.

-3- ZXM 3/1992 OVLÁDÁNí [).I()ZE STROJOVÉHO KÓDU - DíL DRUHY

Další provád~ní programu zajiš(uje inlerpret. Návrat je možný dvema zpllsoby, bu,! instrukcf RANDO",nZE USR 23296. to v prípad~. že vše prob.!Wo bezchybné - v tom prípade program skocí na adresu SP2, zde sc obnoví ukazatel na z:1sobník (tcn musí být umíst~n jindc, než je umísten Basicem). prectou se adrcsa chybového návratu a jeho hodnola - la se zapfše na své staré místo. Druh.1 možnost. pri které se program vrátí zpet do strojového kódu jc pri chybe, v tomto prípade se skocí na adresu SP2B. zde se zjislí císlo chyby a provede její hlášení, program pak dále pokracuje slejne jako v prípade bezchybného provedení - obnoví se puvodní chybový návrat... V nekterých aplikacích se ch,ování programu v obou dvou prípadech znacne liší (pokud prob~hne vše OK, pokracuje se dál, pokud ne. vrací se provád~ní pred tuto operaci - opakování clení ncbo zadání jména - nebo do nejakého nadrazeného menu). pOlom nemohou mít koncovou cást spolecnou a je nutno obnovení adresy chybového návratu napsat dvakrát (užití spolecného podprogramu se nevyplatí a ani nehodí).

Uvedený postup pro volání Basicu s návratem v prípad~ chyby mllželc rozne kombinovat se vším, co bylo napsáno IlÚnule. Pri prepisování adrcsy chybového n.1vratu si dávejte pozor. abyste ji pred finálním návratem do Basicu nenechali prepsanou. jinak se místo ocekávaného hlášení OK objeví neco jiného (pravd~podobné nejaké vaše chybové W:1šení), v lepším prípade se pak rízení vrátí zpátky do programu, v horším se pak program zhroutí (vymaže nebo .,zadrc").

Nakonec si ješte sepíšeme císla chybových W:1šení, které produkuje ovládací program pro disketovou mechaniku D40:

27 - S File not found 47 - 9 File is not ~xecutable 28 - T File exi$ts 48 - h File is delete protected 29 - U Di.k full 49 - i Bad record number 30 - V Directory full 50 - j Impo••ible to REN~~ 31 - W Advanced feature Sl - k Impo.sible to COPY 32 - X Bad device type 52 - 1 Corrupteu FAT structure 33 - Y Device ident missing 53 - m Stream already open 34 - Z Device unavailable 54 - n Drive is not ready 41 - ~ Device I/O error 55 - o Seek error 42 - b Bad volume name 56 - P Sector not found 43 - c Bad file type 57 - q CRC error 44 - d Volume not found 58 - r Disk i9 write protected 45 - e File is read protected 59 - 9 Internal error 46 - f Pile is write protected 60 - t File too long

Tradicní (z normální ROM) chybová WášellÍ jsou císlována od O do 26, Wášení jsou císlována od podle císel (cfslo Wášenf je císlem chyby) a pfsmen (A jc 10. B je II, ...• Rje 26).

Disketovou mechaniku Didaktik 40 lze rídit ze strojového k6du i bez použití Basicu. jak se to d~I~, si povíme nekdy prtst~ Ue to pon~kud slo1.it~jŠí ale umobluje to provád~t i takové operace, které se z Basicu prov~d~t nedajf nebo jsou pomalé). - UNIVERSUM·

-4- ZXM 3/1992 FlGlfI1!R BOMDER - MANUÁL KE HÍl.1!

FIGHTER BOMBER

všech typu a druhu. Najdeme tam Pocítacovéstroje bh10rické,nebe se jen hemžísoucasné,stlhackanuty modernejší jsou již neviditelné a nekleré prímo futurologické. Programátorum od firmy ACTIV1SI0N to již zrejme šlo na nervy a tak se rozhodli vytvocít bru, kde bude mli hlavní slovo nikoliv l1'chlý stlhaé, D}'brl pomalý bombardér. A tenlo tah se opravdu podaril.

Nová hra, kterou jcjí autori pokrtili FlGHfER BOMBER. sc rozhodne mczi leteckými simulacemi neztratí.

Po nahrátí první cásti programu sl zvolíme stroj, se ktcrým budeme létat. Jsou zdc na vy1>er ctvri letadla: "11m 5MB VlGGEN AJ 37", "~UG-27 FLOGGER", "TORNADO", "F-4 PHANTOM". O každém letounu vám program podá množsvtí informací. Sympatickou zajímavostí je mOŽDost volby zobrazení vybraných Ictadel vc 20 nebo 30 grafice. Jednotlivé letouny sc liší usporád:1ním palubní desky a HUDu. Po n:UIr:iní dalI( cásti volíme obtfŽDost a misl. Program Vám nabízí celou posloupnost mis!. Nemužetc ale volit ze všcch najednou. Poladí, ve kterém budete mise plnit, je predem urceno. Ke druhému poslání se tedy dostanete tehdy, až splníte první. Po volI>.!poslání se objeví "povíd.1nf" a mapa s vytycenou ideální trasou mezi cíli a Vaší základnou. Po nahrání další cásti jste již ve hre. Pred Vámi se objeví palubn! dcska vybraného stroje. (D:1Jepopisovaný kokpit se týká letounu ~UG - 27, alc u ostatních stroju jsou pffstroJe pouze jinak umístené, nebo DÚme pozmenené). Dole uprostied je radar s promenným rozs:lhem, má rl'Lsah 25, 12, 6, 3 a 1 mm. Vpravo od radaru jc zbranový displej. Zobrazuje sc na nem. která zbran je v cinnosti a množství munice, K dispozici je kanon s 250 náboji, kteý ovšem stn1í v 10 ranných dávkách. Další na rade jsou protiletccké rízené strcly. Tech je 9. Tato zbran sc uvádí do cinnosti až v momente, kdy se cíl dostane do zorného pole HUDu - Hcad Up Display • spcclálrn110 skla, na které se promítají nejduležitejší 1Jdaje, aniž byste museli spustit zrak z pohl cdu ven. Ješte dále vpravo jc umelý horizont, vlevo od radam je kompas a dále vlevo je display s 1Jdajl o cílcch a Ictištl. Tento display hlási, žc nenr vzdušný crt a nebo v opacném pffpade zobrazuje I1daje o poloze a pohybu neprátelského objektu. Poslední zbrall jsou rakety vzduch - zeme "MAWERlCK", tech je také 9. V hamr cásU palubní desky uprostred Je 7 displeju. Levý dolnr signalizuje použití brzdících štítu, pravý z.,brzdení podvozku. 1I0mr displej Je informa~ní. Vlevo od dlsplejl1 je palivomer a vpravo prístroj ud.1vajfcí výkon motoru. Dále vpravo je kontrol!::a vysunutí podvozl:u. Vlevo nahote jsou tri kontrolky. Na štít~ HUDu se digitjlni! promítajr údaje o rychlosti, výšce :I smeru letu. -5- ZXM 3/1992 FlGlITER BOMDER - MANUÁL KE Hfffi

Ovládání hry:

Q Noho", SS.•.l PaJubní desb A Dolu SS+4 Pohled oa leloun z letUIof vHe O Vlevo (s oillonem) S5 .•.5 Výhled vzad P Vpr:>vo(. oillooem) 5S+ó výhled vpravo Z Vlevo (ponze smtrovb) SS.••7 Výhled vlevo X Vpr:>vo(pouze smtrovb) SS .•.8 Pohled oa leloun .hor:> (ze satelilu) ENTER P~pÍDsc zbr:uú S5 .•.9 Pohled oa .troj zezadu 5PACE 5lrtlba S5...o Pohled na stroj zep~du R P~pÍDsc ro""sbu radaro K,J Približovánl a vzdalováni lebdla W Brzda podvozku U,I Pri použ;ú pohledu SS...o, posun kolem letouno B Brzdícl ~tfly (klapky) G Podvozek N PrcpÍDsc cDu S Vyhledáváni a nav:i&ní cDu es.•.l až O Tsb motoru C Klamný cO pro ncpfftelské slrtly (radarový) es...o (dvakrál) Forsáž F Klamný cl1 pro neprátelské slrtly (tepclny)

Start:

Necháme zabrzdený podvozek, dáme plný plyn (fors:1ž) a odbrzdíme. Letoun velmi svižne akceleruje a v rychlosti asi 120 mil ml1žeme stroj zdvihnout. Zatáhneme podvozek a ml1žeme "jít na vec"'

Útok na pozemní cíle

Útok na pozemní cíle je nejlépe provádet z výšk-y okolo 5 000 stop. Ve vzdálenosti zhruba 10 mil letoun zbrzdfme na pokud možno co nejnižší rychlost. Ideální je dát motorom tah CS+7, pri které je ješte možno s letounem dobre manévrovat bez hrozby nenadálého propadu. Vysuneme brzdící štíty a prepneme zbranový systém na strely MA WERlCK. Tento manévr musíme provést co nejrychleji, protože letoun se blíží k cíli velmi rychle. Nyní !l.1smerujeme príd na místo predpokládaného cíle. Stlacíme S a v prípade, že se cíl opravdu nachází v HUDu, objeví se v nem ctverecek. Stred zamcrovacího kríže musíme dostat do plochy ctverecku a ml1žeme pálit. Ideální vzdálenost pro palbu jsou 4 míle. Na radaru ml1žeme sledovat strclu smerující k cíli. Po z.1sahu nám palubní displej oznámí "TARGEr DESTROYED". V prípade znicení všech cíll1 v tomto míste se objeví nápis ·~USS T ARGEr DESTROYED". Pokud se objeví pouze první nápis, v útoku pokracujeme. Pakliže útocíme výše popsaným stylem, diky velmi nízké rychlosti letounu ml1žeme v klidu opakovat útok trikrát, aniž by hrozilo nebezpecí kontaktu se zeilÚ. Více cíll1 vetšinou na jednom míste není .

. Útok na neprátelské letadlo

Jestliže Vás znepokojuje neprátelský letoun, musíte ho opet dostat do HUDu. To se vám zdarí pomocí radaru a údajl1 na zbranovém displeji. Pakliže se Vám to podarilo, z.1mcrovací systém raket Vzduch - Vzduch si cíl s.1m zamerí, což -6- ZXM 311992 FlGHfER BOl-mER - MANUÁL KE Hfill jednoznacne vidíme na HUDu. Pak už sbcf jen stisknout FIRE a dnetletoun v zamerovacím šlite. Automatika nefunguje na velké vzd.1Jenosti, ale ani na velmi malé. POZOR! Po znicení nepr:\telského letadla IÚIII opet neskocí na zbranovém displeji "AIR TARGER NONE". Provedte prepnutí zbranového systému znovu na protiletecké rakety. Když to neudeláte, pocíbc Vám bude hlásit, že nejsou vzdušné cíle, i kdyžt to nebude pravda. Pri ohrožení neprátelskou raketou se Vám rozbliká kontrolka vlevo nahore. Raketu zmateme vystrelením klamného cíle stisknutím C. Toto opakujeme dokud kontrolb bliká.

Pristání

Pristáváme opet co nejniEí rychlostí, ze vzdálenolsti 3 - 4 míle a výšky 1500 - 2000 stop mírne klesáme smerem k pristávací dr.1ze a pomocí smerovky Z, X ml1žeme stroj velmi presne navést na pristávací dráhu. Nezapomente vysunout podvozek! Po pristání nastavíme !:lb motoru na CS+ I a zabrzdíme podvozek.

Tak1ika

Ze zkušeností je možno ríci, Že pok-ud úkol mise nenarizuje jinak, je vy1J.ooné útocit na cíl c. I až Iillposled. Vemnou jste totiž po útoku na cíl c. I napadeni rakebmi a lebdly. Pri útoku Vám po znicení cíle ctverecek zamerovace zmizí. Opetovným stlacením S a podle hlášení displeje zjistíte, zda máte útocit dál. $etrte municí, není jí nazbyt. Snažte se bždou strelou zasáhnout cíl. Jestliže za Vámi letí letadlo v dostatecné vzdálenosti a "neobtežuje Vás", nechte ho být. Když ho sestrelíte, zanedlouho se objeví nové a Vy za chvíli nebudete mít cím stfílet. Pri delších presunech v vystoupejte do výšk]' okolo 30 000 stop. Získáte o polovinu vyšší rychlost a ušetríte ~as i palivo. Jinak je stroj pri prímém letu velmi stabilní a dá se s ním létat bez probléml1 8 stop nad zemí, rychlostí I 200 mil! Po ukoncení mise (opetovným stlacením CS+l) nahrajte poslední cást a dosbnete vyhodnocení poslední mise. Pokud jste uspeli. pocítac Vás pustí dále. Pokud ne, budete také druhou a tfetí cást programu nahrávat znovu, abyste to mohli napravit.

Vždyt létZlt je tak i5nadnéJ

Tento návod vznikl metodou pokw omyl, takže není zaruc-.no, že je naprosto vycerp:ivajfcf. Presto by v nem mely být zaneseny ty nejdOleži!ejšf prvky a postrehy. Pok-ud prijdete na nejaké dalšf, bude to jen dobre. (RS&:/M, /99/)

-7 - 7.XM 3/1992 HlSOFT HAStC - MlNIIvIA.NUAL HISOFT BASIC

HlSOFI' BASIC je kompilátor BASlCu pro pocítace Spectrum a kompatibilní. Pomocí nej mužete prekládat programy v BASICu do strojového kódu. (Pro zacátecníky: rádek BASIC programu se pred vykou:1nfm preloží do strojového kódu, pocítac totiž príkazum v BASlCu nerozumí. Pokud se v cyklu opak"Ujepríkaz 100 krát, pak se také 100 krát musí preložit, takže beh programu je pomalý. Kompilátor BASICu program preloží najednou a celý, proto zkompilovaný BASIC beží rychleji než nezkompilovaný.) Prehled príkazu:

Ph1:azy mohou být zadávány malými i velkými písmeny. Ph1:azy jsou vykonány ihned po zadání posledního za,,:',. (není treba ENTER). Jestliže se nekdy stane, že pií1:azy nejsou akceptovány, rc-inicializujte príkazový interpret pomocí RANDOMIZE USR 23792. *c- - Zahájí preklad BASICu. Prekládá cást BASICu mezi direktivami REM: OPEN# aREM: CLOSEIt. Preložený kód je uložen tesne pod RAMTOP. Informace podávané kompilátorem pri prJdadu: první prochod: relativní adresa vstupního bodu druhý prochod: absolutní adresa vstupního bodu po prekladu: pocet bajtu pro kód pocet bajtu pro promenné pocet bajtu pro BASIC Další informace je možno zobrazit použitím direktiv REM: LINE a REM: LIST. *x- - Nastaví RAMTOP na 65367 a nastaví tam STACK procesoru, tj. vymazání již preložených programtJ (získání místa). *R- - Spustí preložený program od prvního vstupnfbo bodu. To samé jako RAi'IDOI-oUZE USR xxxxx. Strojový kód je moŽDOkdykoliv prerušit stiskem BREAKu, ale pouze je-Ii prítomen Hisoft BASIC. *T- - Nalezne informace o promenných BASICu. Po prvním '1' jsou vynulovány promenné BASlCu, obrazovka se prepne do BRIGlIT a akth"Uje se program pro prozkum promenných. Od této chvfle si tento program vytvárí soubor promenných BASICu a jejich typu. DruM '1' tento soubor vytiskne a smaže z pameti. Mezi temito dvema '1' mužeme delat cokoli v BASICu, bežná praxe je '1' a RUN programu v BASlCu nekolikrát po sobe s jinými vstupními parametry a potom '1'. Je možné, že '1' dá nesprávný výsledek, protože prohliží promenné jen každou 1/50 sekundy. Naph1:1ad program: 10 LET 1=1: LET 1=0.5: LET 1=1 Sekvence '1', RUN. '1' sdelí. že >1< je POSINT, pritom je jasne REAL. Protože program prehlédne >LET i=0.5<. *ERASE- - Smaže BASIC program a promenné, ale ponech.1 Hisoft BASIC a jakýkoli strojový kód nad RAMTOPem. Chcete-Ii smazat Hisoft BASIC, použijte NEW. *D- - Jako ·C, ale ukládá pouze kód generovaný pn1:azem DATA. *E- - Jako ·C, ale neukládá kód generovaný príkazem DATA. Tyto dva príkazy použijeme, chceme-Ji rozdelit dlouhý program obsahující príka7.y DATA na dve cásti: kód a data. Nezáleží na tom, který príkaz použijeme dríve, ale oba musf být použity -8- ZXM 3119')2 HlSOFf HAStC - MlNIMANUÁL spolecn~. Blikající >0< nabo >E< na obrazovce pripomíná. který z ph'kazd je již vykon:Ú1.Jestliže nepoužijete direktivu REM: USR. musíte nastavit RAMTOP po provedení první cásti ('E nebo '0). tj. obe cásti se prdoží na stejnou adresu. Typická sekvence je: 'X, '0. SA VE data, ·X. ·E. SA VE kódy. Tyto dve cásti potom ve fin.1lním programu vytvorí souvislý blok a móžete jej uložit najednou. Shrnutí odlišností od Spectrum BASICu

I) Ž~dný výraz (krome VAL "císlo") nemuže-být v príkaze OATA nebo OIM. 2) Jestliže výraz (krome VAL "císlo") je v GO TO. GO SUB nebo RESTORE. musí být použita odpovídající direktiva kompilátoru. 3) Nejsou umožnena pole o 3 a více dimenzích. 4) VAL retezcová promenná (napr. VAL A$) není umožneno (ale VAL "výraz" je OK). 5) Syst~mové ph1:azy CLEAR, CONTINUE. ERASE. FORMAT. LIST. LLIST. LOAD. MERGE. MOVE, NEW. RESET, RUN. SA VE. VERIFY nejsou umožneny. 6) BREAK je znemožnen. 7) Oefault atributy PAPER 8. FLASH 8, BRIGHT 8. které BASIC používá pro PLOT • .ORA W a CIRCLE nejsou vloženy do preloženého lé6du. 8) Tisk retezce obsahujícího kontrolní kódy barev mdže zmenit da.fault atributy pro následující ph1:azy PRINT. Direktivy kompilátoru Každá direktiva musí být na zvl;gtním rádl.."Ua sestává z >REM:< a klícového slova BASICu .• REM: OPEN#- - vstupní bod, zacátek kompilace REM: CLOSE#- - konec kompilace. návrat do BASlCu Následující direktivy musí predcMzet tyto dve (musí mít niW císla rádkd): REM: USR- • - sdelí Hisoft BASICu. kde chcete mít start zkompilovaného kódu. Kód je vždy ukládán na konec pameti (dané RMvlTOPem), ale kód muže být vytvoren tak. aby šel spustit od adresy. kterou specifikujete. REM: LIST- - zpusobí, že Hisoft BASlC sestaví seznam runtimových rutin a promenných, které použil. REM: LINE- - vytiskne adresu každé kompilované rád!..:- s odpovídajícím císlem rádky. Pri prvním pruchodu relativne, pri druhém pruchodu absolutn~. Input

l)Ph'kaz INPlfr je kontrolován a nastane-Ii chyba, provede se znovu. Tzn .• že z INPlflu nevede jin:1 cesta než z.,dat spmvnou hodnotu. 2) Vycíslení numerického výrazu je provádeno pomocí BASlCovské VAL rutiny. takže výrazy z.mmující již existující BASICovskou promennou jsou akceptovány. 3)Pokusíte-1i se priradit promenné hodnotu OUT OF RANGE. je generováno chybové hI;gení. -

(napsal SP,tRROW, pokracovdnl pf{Jtl) -9- ZXM 3/1992 11IE UNTOUCHABLES - DOKONtENf

THE UNTOUCHABLES

Jeden ze zpl1soM, jak dostat POKE do hry je Iclsledující a je urcen pro ty, kterí alespon trochu rozumejí strojovému kódu. V assembleru napíšeme kr:1tký program:

blok3blokZblok"blokS scrIdscrrot~1ne.blok!~.z47Z4 xor.•....•IdIdIdxor(rirhl.Obc.Bd••01 B••• Z).I>1 ~~.~~~JrlnjrJr~~~,jr..nc.blokZ~.(ZS4)ncnc,blok3nc.blokS..blok4 rot jr nz.First d•.o d st.,.t.tir-sIon to o,.,scr•••Iddl•.....IdJpcphc.1IIncdx(I.n.U.d.t~.ISZ~.IS~I.dlilz.1378(ZS4).~332.91378•• '· ~.tscr

Program preložíme pomocí príkazu org 33280 od adresy 33280 a uložíme preložený kód na kazetu. Pomocí monitoru (vast, devast+) nahrajeme základní cást programu od adresy 23296 o délce 16594. Start je na adrese 32768. Vidíme tam nejaké instrukce a mimo jiné i:

Od adresy 30720 nahrajeme predem uložený progr:lmek. Tím Id hl.3B7ZB je vše hotovo. Hry spustíme príkazem TO? (55+t) od adresy 32768. Id ok ••-_ POKE zfsk:lme tak, že koncem nahr:lnf urcitého bloku budeme Id bc•._ Idi,. držet klávesu s císlicí bloku a pock:lme až se blok nahraje (po celou tu dobu ji musíme držet). Klávesu stací zacít držet tesne pred nahr:Infm, což zjistíme podle pocítadla magnetofonu. (pro ZXM 1IiJpsalPetr Slc)

JAK ZNICIT ...

V poslední dobe se množí n.1pady, jak programem Z/Ucit pocítac Spcctrum. Zverejnujeme návod, jak zcela spolehlive Z/UcítlJ pocítac. Originální n:1pad n:1m poslal pan Vojtech Rum! z Pardubic (a tím se L"lkénicení pocítacl1 s konecnou platností pfest:1v{une venovat): I Jdete do želez.1rství a l.:upte nejvetší kladiýo které lam mají. 2 Zvednete kladivo asi 40 cm nad pocítac. 3 Až pípnu tak vší silou uderte do pocítace. 4 Pol.."Udna obrazovce svítí nejaký nápis, opal.."Ujtepostup od bodu 2. S Tím budete mít pocítac toL'iJncZ/Ucený a bude toprogramem. -10 - ZX'M311992 ANIMACI! 13. DIL)

George K.' S

Díl tretí: Navštivte strojový kód

Welcome to Machine Code! Možná. že je nckterým cten:\rum líto. že jsem bezcitné opustil Basic a jisté se najdou i tací, co mi budou tvrdit. že v tom krásném jazyce by se dalo napsat daleko více. než jsem minule ukázal. ale moje !elitá zkušenost je, že animovat by se mélo ve stroj:lku a toho se ~'e zbyu..-useri:ilu budu dr1.et. Tento díl neprinese asi tolik konkrétních inform:lcí. jako ty predchozí. protože je treba dohoc!nout se na urcitých pojmech a výrazech. které budeme nadále poutivat a které mohou být pro nékoho horkou novinkou. Ti. kterí neovládají strojový kód. nemusejí zoufat. že jim budou n:IsJedující stránky IJ.1nic • doporucuji selUlat si Universumovu knihu Assembler a ZX Spectrum - vždyt: kolik recí máš. tolikrát jsi clo'lékcm ....

3.1 Trochu (více) nudnó teorio

Každ:! animace m:\ svuj úcel - vetšinou ji chceme vyutit ve hr:Ich - a na ten je treba od samého pocáU..-umyslet. Neexistuje pravidlo, kdy jakou animaci poutit - to je proste na existenci jak postavicek tak pozadí. navíc je potreba to všec!Ulo sladit (ne cukrem) a tady narazíme na ten nejvetší problém: VZÁJEMNÉ PREKRÝV Á1'í1. Tomuto typu graffi.:)' se ffk:i sprajty (sprites) a využívá ho 90 % všech her. Díky n:lrocnosti na rychlost nemuže být o Baslcu ani reci.

3.1.1 Nemaskované sprajty

Než abych složite popisoval, co m:im nemaskovaným sprajtem na myslli. bude jednodušší. když si nahrajete nejakou hru, kde na ne mužeme IJ.1razit. Jiste v:lm nemusím dvakrát pripomínat Manic Manera; zde bylo vetšinou použito nemaskovaných sprajtu OR (pozadí a postavicky splývají do jednoho celku - presvedcte se o tom). Další bezmaskové sprajty najdeme ve hr:Ich , ATIC ATAC, SAMANlllA (tam vlastne ne, tam jsou k videní jiné zajímavé veci), STARQUAKE, atd; tentokrát to bude typ XOR Gako když nastavíte OVER 1 - nevypadá to moc hezky). Nesympatické na sprajtcch OR a XOR je, jak se chovají k pozadí a k sobe navzájem; casto není vubec patrné, co se deje, zvlášte navrství-Ii se nekolik sprajtu na sebe.

3.1.2 Zamaskované sprajty - to je ono!

Pyšní se jimi takové hry, jako je COBRA, GREEN BERET, BAT MAN, Jméno Ruže (to musel délat néjakej machrt), TIIRn~ WEEKS IN PARADISE, HERBERT, I1IGHW A Y, HEARTLAND a dalších p:\r stovek. Všimnete si napr. v Green Beret co se stane, potk:\-Ii se víc chlapík!' najednou (krom toho, že V:\s zabijí) - a to se ke všemu ješté roluje pozadL.I Klasickým príkladem sprajtu s maskou je šipka v Art Studiu, Desktopu, Orreovi .•,

-11- ZXM3/1m ANIMACE 13, DIL)

Co je myšleno maskoul Podívejme se na obrázek: jsou na nem tli typy ctvercc1cu: 11 cerné • to je Joe tak, jak ho znáte; 21 bílé - palrí také Joeovi (tvorí mu vnitrek tela, oblicej a jakousi ochrannou c:1ru kolem); 3/ šedé - a to je maska. Ve skutecnosti se grafika a maska nedají zakreslit do jednoho obrázku, udelal jsem to jenom kvuli názorné ilustraci. Obrázky by správne mely být dva: na jednom by byla jen grafika a na druhém jen maska (obrázky musí mít stejné rozmery a když je dáte "na sebe" musí dohromady vypadat pr~.ve takto). V praxi se využije jednotlivých ctverec1cu ~sledovne: maska se priloží na pozadí a to, co "leží pod nf" zOslane zachováno. Vznikne "díra", do které se potom dokreslí grafika, a pak to vypadá presne tak jako v Green Berd (Jonathan Smifff mi zaplatil, abych jeho hry propagoval, tak se snažím). Uvi~domte si, že tím, jak definujete masku, ovlivnujete výsledný efekt - když v masce lupy necháte v míste slda "bílo", neuvidíte skrz lupu nic, když prostor slda vyplníte, zóslane "pruhledné". Existují i masky založené na opacném principu, ale pripad.1 mi vyl10dnejší používat tyto.

3.2 Základní sprajtovací algoritmus

Všechny hry, využívající sprajty, vycházejí z jednoho systému jejich premístování, který je POIUepotreby individuálne prizpusobován a optimalizován, až k nepo~. Jeho zjk)ad by mohl vypadat pribliŽDe takto: 1 je-li to nutné, vykresli pozadí (napr. pri posunu ulice to nutné je) 2 nastav nové souradnice sprajtu

3 polož všechny sprajty od nej~~ího k nej~vrchneišímu (tento bod bývá konkretizován podle toho, zaa se hraje ve 3D (JSAT MAN, K1'íJGHT LORE) nebo "nadhledu z(RoboCop,boku" (RENEGADEGreen Berd) 1,ci2,"shora"(STARjízda mestem DRAGON,v BAT MANLlGHT3) neboFORCE);jen "pohleduobecne plati,z boku"že sprajty s nejnižším poradovým císlem jsou "nejdál") 4 zvedni všechny sprajty od nejsvrchnejšího k nejspodnejšímu (viz. 3) 5 zpátky na bod 1.

Vypadá to na první pohled trochu pochybne, ale hned si k tomu rekneme víc - je jisté, že neco vykreslit a vzápetí to smazat je hloupost - mezi bodem 3 a 4 se musí cekat, aby si clovek wbcc mel šanci sprajty prohlédnout, nekdy se také musí otestovat pohyb a podoby, narazí na nejruznejší komplikace: program bude nechutne pomalý a pri velkém poctu sprajtu budc obraz blikat až hruZ,l. Rešení spocívá v tom, že všechny prípravné práce se musejí provést nekde v pameti a na obrazovku se dostane pouze nový "snímek", který bleskurychle prekryje ten predcházející. Opet existuje nekolik zpusobó, jak se vyporádat s prípravnými pracemi: tuším, že v COBRE se to delá tak, že behem jednoho prerušení se vyhodnolf nové pozice sprajtó, uloží se na odkazy na jejich data na zásobw1;u. a v dalším prerušení se to v~echno nakreSlí a to ješte zbyde cas na zvuk. 1in.1 varianta je mít nekde v pameti rezervní obrazovku, jejíž obsah se bude kopírovat do videoram (bývá relativne pomalé), chytrejší programy kopírují pouze tu cást, kde došlo ke zmenám.

3.3 Prográmek na dobrou noc

Vrogram byl odladen na systému Promctheus - používáte-Ii jiný preldadac, mOže dojít u pseu';oinstrukcí k odlišnostem v zápisu. Program :;c snaží konkretizovat mlhavé predstavy o 111-,<:kké moci masky ... Zkuste zpozorovat rozdíl, ke kterému dojde uvnitr ctverecku, když v datech zmcníte císla 24 na O. -12 - Z.XM311992 ANL\IACE! (3. DI!.)

.nt ~TART ; pseudoinstrukce, udávaiieí kde m.!. proEram. IUe!l.k ~TRRT Id h " • le~e •. t bitov4 mapa videoram je zapln4na vzorkem Id de,le.:3eS I kV1!li demoslroci ~eink4 masky Id bc,&14:J Id Ch l) .~ss ; clslo vzorku (255) i. možno menil podle libosli_ ld i r Id hl,DATR ; HLuk •• uje na zaeU.k dal sprajlu Id d•• =4."~~ ; DEHU, kam do videoram s. bude kreslil Id b,e I výjka :prailu je osm bod4 L.OOP Id A. Id.) i vezmi bait z videor::J.m .nd (hU i a ponech pouze t.o. co je v masce Inc hl ; posun se boji groliky or IhU i a pridej ho k muce Inc hl ; posun se na da1!í masku Id (de:) ,.I: i bajt. paloi do videoram in~ d i posun se ve videoram na daltí tádek dJnz L.OOP i opakuj 8x rot ; konec - vraE se

DRTR dc f b O, O. O, .126, 0, 66, 24, 66, 24, 66. O, 66. 0, 126. O. O

(pokracl1Vánf) NEKOLIK INFORMACÍ O TISKÁRNE NL 2805

V poslední dobe se ve výprodeji objevily tiskárny NL2805 za velmi vyllodnou cenu. Tiskárna sice neoplývá velkými možnostmi, ale ve spojení se ZX Spectrem je jisle vyllodnej~, jak napríkJad BT 100 ci Gamacentrum. Její strucný popis již byl uverejnen a tak se chci zmínit o nekolika praktických z1cušenostech. • Nekteré tiskárny NL2805 nemají zabudovanou diakritiku, což lze lehce napravit preprogramováním pametí EPROM. Ale pozor! Existují dva typy tiskáren a pameti u nich nejsou pakzámennénech(I radejiPokud nejdrívesi tudíš neníse mnouuživatelnavážejist plsemnýsprávnýmkoniakt.typem zdrojového programu pro svojI tiskárnu,

•bohuželZ lcvéhonekdv rameneI tiskárny.kazetyStacíscalecastojen vyuhujekazetu rozebratpáska, acožprollzpnsobuicpríUa"nénepríjemnédesticce zasunout:závady vhodnétisku a tvarovanou pÓdložku o sl1c asi 0,4 • 0,8 mm, címž se zvy1i prítlak natolik, že se závada zcela odstraní. • Tisk:\rnu lze s pnjatelnýnu výsledkv pnpo)it i k PC. ~cuje i s T602, ale je nutné vytvoi'it nový DST soubor a použít rrogram NLEí\ ktery byl k nekterym tiskárnárn dodáván. •dostat.V Takžeprípadezdcz.1vadyje postup:si castokrát musí vypomoci uživatel ~m. Je ale rébusem se do tisk.1my • OdšroubuleOdšroubují sea sejmca sejmouse kryt,se ob.:!z polovinyktcrého vych.1zíplastikovéhoplochýl:Iv1U.kabel k tiskové hlave. Objeví se

•konektorOdšroubujíFRh asetendvase rozpojí.šroubky M3 vpredu. na levém boku (z:1vitem drží v cluadici tranzistoru). • Odšroubuje se scdm šroubku M3 (tri shora a po dvou na každém boku), jež drží z.1dní stenu. • Zespodu se vyšroubuje šest šeslihranných distancních sloupk"U. • Rozpojcním n.1suvnych konektoru se odpojí všcch osm vod.icn krokových motork"U. Neidríve si ale poznamenáme icjich pOvodní zapojení. • Odpojí se konektor ovládacího panelu. , • Odpojí se konektory prívodO motorku posuvu pásky. obema• NynídHumii1. lzesi opatrnétak zajistímeoddelitpcrfektlÚplošný prfstup.s['?j se všemi souc:\sLkami od mechanické cásti a k , (napsal Pt!lr H/1rka) Pozn:\mb redakce: a co takhle ježek v kleci, ten by nt!b)'l?

-13 - ZXM 3/1992 PC MONITOR A DREAK P/\'ES NMI

PC MONITOR A BREAK PRES NMI

KdJi chume, ob] tuH pocítal umll o neco víc ne: obylejne, nevJhneme se zpravulla záslÚldmdo jeho /wrdwcue. Mnoho u[jvate1u vWk nemá talik zAušenostf se stavbou elektronických obvodii, taki.e je takováto rešeni odradí hned na poUtku. Snad práve proto mám tadJ pro všechn] Zlijemce moin' rešení. Elektronický ob.·od sice stavel budete, ale jednoduchý a nemlrolný, s nlmi se dá dosáhnoUI maximálne ZIIjímavých moiností. Moirrá, ž.e jste UŽslyšeli alespon trochu o nemiJSkovalelnémprerušení u mikropolítace. Pokud nikoho ZIIjí1TUljídetail], muie si prostudovat v tomto smeru odbornou Schém~ 9~n~rá~oru NM!. lileraturu. Zatlm stalf videt, fe pomoci nemiJSkovatelnihoprerušeni (dálejen NMI)je moiné kdJkoliv skolit na nejaký náš vlastní +SV program, pokud dodrome nekolik zásad. Adresu programu, na který chceme skákat, '" ,. I ] •• vzdáme do SJstémovi promenné urlené pro n j SIl •••• NMI (23728), potom vyroblme krátký impuls r:J I. •••• na systémové sbernici na špilu 14 ze strany r~~ nU.:O ..•••. soulástek generátorem impulsu pro NMI. ~~"'~~, : ",,1.'i NHl,':•• ..: , Generátor impulsu pro N!ln jsem vyrobil z _. 1 • jediné/w integrm'aného obvodu MlI 7400, strana souc.asteE. - S1.rana SPOjU jednoho kondenzátoru a trech odporu. DomnÚ'ám se, ie ZIIpojenl je skutecne PLO~)I'~ 5?OJ GEXEill1TORU II/II" jednoducllé a sclléma je vylerpdvajfci. &hé1TUlprikládám. Jako tlacítko je zapojen mikrospínac. celý obvod m~m v malé krabicce s prímým koneklorem, 1akže je možné pripojit ho na syslémovou sbr-«dr TO k: Ii:EADn: POlCEx,n: LET SUI=soa+n: HEXTx kontaktu 6 a 7 ze strany spoju. 4 If sua06Ue TIlH GC TO 6 Obvod nedoporucuji pripojovat S LET p=adr+7: POO: Qdr+t.p-2561tlllT (pI2S6/1: nJI([ 04r+2,IHT a odpojovat. pokud je ~ftac IpnS6/: RAHDOItIZEUSI adr: STCf' pod napetím. Pripojujte a 6 PRIHT "CHYBAV D.\ItOI!": STO? odpojujte, když je ~ftac 9 SAVE 'nli,pcl cdCOCE ~dr,6Q vypnut. Pomocí tohoto I' MU 133,'I1,89lrm,176,m,~1r243,eSlr.5J,ISII'SI,22S,22 jednoduchého zarízení je 9,159,'59,'59,159,229,152 ,etZ,zes, li 1r.22, .42, 176,191, 117, tl7, li mo'.né nahrát z pocítacových 1,125 ,235,U t ,N6,.H, ze5, ••• , 132,193,2'5, .u •• 4S, Z.S,221,.4S,22 her obr:1zky v jakékoli situaci, S,241. 2SI, 253,.33, 9sa, 192.2.7,255,.22, .ZI,'N, f60,961,158 muume se bez problému 21 RDI Pro zko~u .\nete z~do\ nosleduJici ?OI

hlderhl22,21,.Q,22SSbc.6(23729)'PC:'obS3QbS2OOSeQbSa0054QbS7obSeQbSSobS6QbS9QbSQQbScQb640049OO7eab68obQbi6OOi8ob4rQbSIQb4cQb79Qb49abMQb7dQb69Qb7eQb7f0085Qb6cQb.7ooSbQb.lIddidbQba2,(23729)7773 33cmjbeleS3b3e82cd2b2debalfI22b8Scfd213aSccicf81e6ee13cd3c2ieS2Qb8Sc112f0821SiQbcde32dfbc9fr161mSm3a19,hl 16ZQYIItx;-----NJHinQaextiuloziYTolidelkaIdcollCQIIdocdbQddIdrsleiratendincodr.;snizenihobraz;nQYTotMoziskokuiobnQYdoinic.hodnolutextuhlrde11747115.3~ea~2e3c;\691PCDEPC.MOHITOR------doobSQhdoobsahrozdi!zQsobnikuzosobnikuHlt!PCPClYYk ROMlexluQZkalkulQtoru sphllpclde.tx-pcIiy,236Usp PCI ido;nQJdi;Qdr.podprO'jrQluiYljlen;sipolohQpoppeppushpriznak"'incdecsyo;t.proa.iZQkQZiskokiYljt.azeniiotevriizobraz;poYOIiebnoyiyroceni;zQsobnik;YIJ?oclizQcQlekrogistryhlspQfbczobrazeni•••doIQsk.losk.prerusenirogistr~.dekQdickykonalch!JboyenozPQtokpocatek,OKproobs.PCnQpodprO<]rQI'JprerusenipovodniPCHMIpronarutin~doulozenetextupSQniscrH1.hodnotunQpriser vás pripravil 16 2228S34243236382691472133li272S3S37631a1513231918 N 11121817 34 2 jcdnu z možností. Po stisku tJacítlca na krabicce s NMl generátorem se dostanete do BASlCu a jem se vypfše obsah registru PC, který ukazuje, ze které adresy strojového programu lsme vyskocili. Ze je možné se dostat i z nekonecné smycky si ukižeme na malém príkladu. Nejprve je nutné si pretukat do pocítace program. Prikládám jak výpis assembleru (MRS), tak výpis programu v BASICu.

BASICovs• ký program se po spuštení zeptá na adresu, na kterou chceme instalovat náš prográmek. Ted máme v pameti dost místa, ale obycejne jej nemáme a aby mohl pracovat s jinýIIU programy a neprekážel v pameti, ukládá se do z:lsobníku tiskárny na adresu 23300. Program se uloží na zadanou adresu. Má 59 bajtó a je možné ho uložit jako CODE na pásek, jak vidíme na rád!..-u9 v programu. Program je instalován po príkaze RANDOMIZE USR adresa, kterou jsme zadali. Nahraný jako CODE se do pocítace 7.avede: LOAD '''' CODE a spustí od adresy, na ktcrou se nahrává. MOžeme pristoupit ke zkoušce. Zadáme príkaz GO TO 21. Zadají se dva POKE, které umístí na adrcsu 30000 programovou smyck-u. Nyní odstartujeme do smycl..-ypríkazem RANDOMIZE USR 30000. MOžclc si z!..-usit,te pocítac se s vánu už nebaví a ignoruje i tzv. "masiž klávesnice", numo tlacítka RESET (alc to ted nepotrebujeme). Stací stisknout tlacítko generátoru mu. Na obrazovce se v levém dolním rohu objeví hlášcní OK a nad ním výpis rcgistru PC: 30000, ktcrý nám ríká, že jsme vyskocili ze smycky na adrcsc 30000. Nad využitím tohoto programu mOžete dá.! premýšlet. Kdo programuje, jiste už na ledacos prišel. Teším sc, že nektly príšte vás seznámím s dalšími prográmky pro N~U. A( vám NMl slouží k plné spokojenosti. Bude-li zájem, podrobne vás seznámím s úskalfnu a vyllodami NMI. (pro ZXM napsal Pavel ,\facek) -15 - ZXM ~1I9')2 KOUTEK PRO UŽIVATELE DESKTOPU

uživateleDESKTOPu

Váženi ctenári, pri pohledu na nekteré dopisy psané v DESIcrOPu na me obcas padá smutek: jak je možné napsat dopis s nezarovnanými okraji? Prosím vás, když pgete v DESIcrOPu a blížíte se ke konci rádky, nebojte se že když nezmácknete Ei'IITER, stane se neco strašného ... Klávesu ENrER používejte jen v prípade, že chcete ukoncit odstavec I Desktop totiž sám zarovnává okraje, normálne je n.'lStaven tak, aby zarovnával k obema okrajdm a toto nastavení mdžete zmenit na zarovnávání k levému nebo pravému okraji nebo doprostred (viz manuál). Takže na nevyrcenou otázku, co delat aby se zarovn.1.valy okraje, zní tato odpoved: nic! Mnoho uživa!eld má zmatek ve funkcích Fonteditoru. Mínen je podpurný program Fonteditor (dále jen FE), ne fonteditor, který je možno instalovat prímo do DESIcrOPu (= Fonteditor extension). Uživatel si neco ve FE vytvorí, pak se to pokusí nahrát do DESIcrOPu a nastávají problémy. Z FE totiž mdžeme vyhrát na kazetu 3 ruzné typy souboru: • Standardní font, délka 1638 bytl1 • Velký font (titulkovaci), délka 1353 bytu • Obrázek, 6912 bytu dlouhý soubor FE slouží predevším k tomu, abychom si v nem mohli vytvorit nadpisy (titulky) ki\ svým textum. K tomu obvykle používáme titulkovací fonty - ve FE jich máme 15 druhu a sami si mdžeme vytvorit další (nebo si je zakoupit na kompletu KUD - 1). Mdžeme použít pdvodní velikost nebo si písmena zvetšit, zmenit šírku, sklon a další parametry. Z techto fontu vytvoríme titulek a když jsme s ním spokojeni, mužeme jej vyhrát na kazetu (ev. disketu) jako obrázek. Z toho plyne, že veLb:ými fonty z FE nelze prímo v DESIcrOPu psát, nejdríve si z nich musíme vytvorit (vysázet) príslušný text ve FE a ten pak nahrát do DESKTOPu jako obrázek. Velké fonty nemají hácky a cárky a pokud je potrebujemi\, musíme si je 'rucne' dodelat v grafickém editoru (podprogram ve FE). Pok"Udpotrebujeme více titulku, napr. k nekolika kapitolám clánku který píšeme, mužeme je vysázet najednou na jedinou obrazovku (mohou se tam vejít 4 i více titulku). V DESIcrOPu si pak vyber~me príslušné cásti obrázku, tj. vybereme postupne ty výrezy, které odpovídají jednotlivým titiJlkdm.

Pokud vytvoríme nový velký font, mužeme si jej uložit 11., kazetu pro pozdejší vyu,Jtí. Pak jej ovšem musíme nahrávat jako velký font, tedy pouze do FE a do DESKTOPu jej nern.1. smysl nahrávat! Stejnc tak nemá smysl nahrávat velký font jako standardní font, nebo nahrávat jej do ART Studia. Ovšem znakovou sadu z ART Studia do FE nahrát lze, jako standardní fon!. Z dopisu, který prišel od z.1.kaznika Gméno neuvádíme): •... program jsem ehlel pou~íl1lll svém pocílat'i PC - Ar s emulálorem ZX Speclra. dodávaný sOl/kromol/ firmol/. VeJkeré programy jsem bez problbm1 prekop{roval Zpásky na hard disk, ovšem DESKTOP loklo nefunguje - poraále, prosíml" Bohužel nemužeme rucit z., správnou funkci programu na jiných pocftaUch než Spectrum a kompatibilní, ale o to ani tak nejde. Program DESKTOP nejab:ým zpdsobcrn komunik-uje s tiskárnou, obvykle je to pres obvod 8255, a v PC to fungovat ncmu}.c, žádn.1.8255 v nem ni\nf... Navíc na PC existuje mnoho textových editoru které fungují zcela bez problému. Jakékoli úpravy DESIcrOPu pro práci na PC v emuJátoru ZX Speclra by byly zrejme mnohem nákladnejší než kou~ nckterého z techto editoru. Obcas n:1m plŠí uživatdé, kterí se sh.1.nejí po spouštecí sekvcnci na kazcte. Tato sekvence bývala nahrána l.1 programem a slout.ila jako ochrana proli kopírování DESKTOPu (sd:vence nešla nahrát do kopírovacího programu). V soucasné dobe nahrávánle takovou verzi DESKrOPu, která se spustí i bez této sekvence. - ROK + pp - -16 - ,--- -- .------Inzerce ZXM

l'[JiJmlrl"jdll/§':_<:: inzer;\!y ~tenáru, kterl! nemají ob.:ho,lní .:harakter zverejníme jako sloup.:ový iuzerát za jednolnou cenu 20.- K~s. ('ástktl nám laskav~ poukaJ.le zclen(\u slolenkou typu ",-\", ua koulo ~islo 2XX-1(),-111/0 IIX), !;ol1ler~ní banka v (;Slí nad Labem.

Spolu s kxtem inzerátu z:J~letetaké ustrii.ek této slolenky jako ,lokJad o plafb~. I Ubchodní inzerce, pla.:ené in/.eráty poduibtelÚ a !Irem mohou být bu,f plo~ué..

ud.,,,K~s, sloup.:ovépoloviua I(k\to'·J).350.- K~s.('enaKe plo~néholvdeju~ní iUlerátuje trcl"lje zaslat12., K~s/.:m'.písemnouCeláobjedn:ívku.slr:'wb Slojína 2jejími.700'-1 základ~ a dle skute~nl! plo.:hy inler:ítu vystavíme fakturu. Cena jednoho rádku u sloup.:ovy'.:h I inzerátll je 10.- K~s, r;ídek muže mít maximáJn~ 30 znakú. ('ástku zapla(é slolenkou typu! "A" ua ua~e kouta, jak je uvedeno výše. Vdkeré .Iopisy ur~ené do inler1ní ruhriky prosíme výrazn~ oZlla~it "INZERCE". Text pi;[e ~itclu~. aby se pre,lešlo .:hyb:1m pri prepisováni textU a nezapomelUe napsat zp:1te~ní adresu také dovnitr dopisu. Pro !Irmy, které mají zájem o plošnou inzerci, nabízíme n.1prvllÍ plošný inzer:ít

, slevu 20 %. J KouPe Prode' . Sháníte el. soucástky, výpoce.tní: J kancelárskou, mericí, vYSllací a telev17;w Za 30,-- Kcs nahraji n.1 zaslanou kazetu technil.:u? Chcete nabídnout své služby v pravidla ke hre bez poWace I?r?cí do~p~. Je techto oborech? Pak je tu pro vás to hra nového typu - v zahraOlcl ~žna. ale ~ ELEKTROINZERT, nejen inzertní casopis ?-1s nap~ostá ~oVink,~' ~ dok:~ze robavlt pro elektronil.:u. Adresa: ELEr<:f!-

600,27324vvška 55 rá,lkíi.Veí.-aryMlIrtill.• RzJžek. Nabdr;r.skd I RuznéCh.:etc proniknout .do taju po':ila':fI a Prod:un sv~tdné pero pro.ZX Spe.:trum a I zvládnout jejkh programov:iní? Nabízím~

roKoba Didaktiky,-V'.IO zaza 60150,--•... -;Zasl~~olt\~areI dO.~lrkoun~ ~azc[~- proV:ím za~:1te~Ol1:ykorespondcncnív jazyclchkursy. programovámB~S[C: a uve,fte typ pO~lta':e. [lId,s/m' jalll.\', U I PASCAL. I\a predb~i.né znalosti neJsou sladio,,1/ mim /70/0. 39003 '/;i!",r. I kladeny požadavky. Vyulijte možnosti • 1\00inb! Tisk:írna VT 21550 + Didaktik I VSIUPU do svéta po'::íta~u - s mími To Gama: /liabízím pam~~ EPROM s '::es.~(~uI ~vládnct~: [nfommce: STARSOn: PS 8S. znakovou sa,Jou za KeS -160.-- Vzor tIsku I _")00/1 abor. pÍ'Cdem.. D,íl~ nah!/~m _ ~'~borny: gr:~:kk~; i. Mám BOnO 256k (Spc~t~ITTÍdle Lama':: i edilDr SI IJ'l:R Se.RH:1\: kopml.!" a Sinsol'r), radi~ S X272 (dlc ZX ['l_OPPY 666, pÍ'Clahuje obr:ílky zlna ,1i~kef,lÚp:ísek.! prípadn~ ho upravím) a 13TI()(\ [ kdy;. mi dokreslov:íní "snapovan:'.:h" obr:lI.ku: r~lo"d i c.:P/~1 již chodí. mám nctradic'Ií torrn:Í! z/do snapu a mnoho jinýc!\ molnost.1: tisk s I disket (.f()()k1. nem:ím programy, ma~uály: EPSO:\ .... I" I{I",/" phl'"d,1 se jt'dlla o I Fv. DATAPIJIl,R prodává systemove k/mírk.,' "br I",.!" , iTl:adl, IlIk;:" :djr:/Ii'" I dlskclY jen s r:uli'::em a je takJ dost drah:í.

mdkl/':':'" ml/."·- pO;:J/tIllIkll{ml/krb/Ired.1/0.-- Kó ;;lI k(/~d(}:, I KOTlII'/I.,krl",Prosím . pomozte.:!? 54:! 32 Up'f·e.l~l~osltl\' Kas{}{/r, ______u L .__ ._ Váženi ctcnári, na techto stránkách se kone~ne setkáváte s nabídkou podpurných programu, utilit a nových fontu pro majitele programového souboru DESKTOP. Je pro vás pripravena kazeta i disketa (M-DOS pro 040, resp. D80) s touto nabídkou: • 20 znakových sad (Beerland2, Cinerna, Cobretti, Consull, Consu12, DoubJebold, Edice 13, Jméno Ruže, Kurzíva, Little, Mah Jongg, Overline, Phones II, Rightbold, SincIair, SincIair 8, Subliltles, Transcript, Up&Up, Up&Up2. • 2 znakové komplety (Knihtisk a Matematika). • 7 utHit (BnOO-552, Archives, Fonteditor - Keyboard, Fonteditor • Kempston, Keyboard View, Pulldown menus, PrintCat). • 3 ukázkové tcxty (Dobrodružství Briana Corpse, Matematické, fyzikální a chemické tabulky, Anglicko - ~esk-ýslovník). • 3 velké znakové sady (Crusade, Sci-n, Mah Jongg). • Posledni verze Desktopu a Fonteditoru.

Co si od toho všeho mužete slibovat? Nové znakové sady obs:U1Ujímj. písmo dle psacího stroje Consul, šikmé písmo, speciální písma pro psaní matematick-ých výrazu, rovnic, integrálu, horní a dolní indexy, dále znakové sady z ROM Spectra (proporcion:Uní i neproporcionální), znakové sady pro kreslení ráme~ku a tabulek a další. Znakové komplety obsahují vždy po ctyrech znakových ,. n ,. KI.JD 1/23 sadách a jedná se o znakové sady, které k sobe " n ..'1=)\, "=13 II,~ Ó _I.;~frr!..,I~.• L.?~':.iD1..=H,...r;"l']Z1', ~"0'li\1ZC•rrJ

I'"'on t 1 mfsto pismen) a ukáže vám rozložení znaku na vaší klávesnici. Obrázek této klávesnice je také mo'-no si vylisknolll (viz ohrázek vlevo). UtiIita Pulldown Menus by mela uleh~it život tem, co si nepamatují všechny funkce Desktopu a nebaví je stále nahlížet do manuálu: jde o vyvolání funkcí pomocí okének (viz obrázek). A kone~ne utilita PrintCat provede CAT diskety a z výpisu adresáre 1iIR!J'j;;.;i'nn1i1blokoué ikce in/aut obrázek text jdi ni vytvorí textový soubor pro Desktop. Ten si pak mnžete vytisknout na libovolné ~iiCtt.~~mmt1:tf\(11I1iII tiskárne, která vám s ext y - prehození "y" i "z" On Desktopem tiskne. Umožní vám tak udržet si prehled o ext ss+a - iutorepeit za 5 obsahu všech disket. ext ss+M - delší stisk za 15 Texty jsou ukázkami ext ss+b - délka kláuesouého kliku 12 použití nových znakových sad. Velké znakové sady jsou titulkové fonty ur~ené pro Fonteditor (tzv. "velký Fonteditor", podpnmý program prodávaný spole~ne s Desktopem). Poslední verze Desktopu a Fonteditoru pomnže jednak tem, kterí mají starší verzi s nejakou chybou, se zavádecím signálem (nová verze Desktopu na kazete zavádecí signál již nemá) a hlavne: Desktop le upraven takl-'!1u: ~i bylo moino nahrávat utilitv (disketový DesktolJ to umožDule již nyní. u kaz~ho to dríve nešlo), Používání uti1it vám mnže ušetrit mn0"O casu: pri psaní textu používáte napr. utilitu Fonleditor, pak nahrajete príslušnou tiskovou utiliclJ (BT100-552) a mnžete tisknout prímo - není treba ukládat text nejdríve na pásek, pak nahrát znovu Desl10p a po nainstalování správného ovladace nahrát text a tisknout. .. Kazetu (disketu) Klub Uživateln Desktopu c. 1 (KUD 1) lze zakoupit pouze na dobírku na následující adrese, objednávající musí prok.1zat, že je právoplatným majitelem Desktopu, tj. uvést registracní císlo (u kazetové verze je napsáno na obalu kazety, u disketové verze na registracní karte). Kdo toto registracní císlo nemá, necht s objednávkou zašle originální prebal kazety anebo registracní kartu - císlo mu bude prideleno. Cena je stejná pro komplet na kazete i na diskete, a to 120,--K~s.

KUD1(5,25" nebob)3,5"disketovoudisketa)Podpis:verzi Datum: (z.~krtnele jakou verzi požadujete!) Poí~1duji a) kazetovou verzi Objednací list Adresa uživatele: Zašlete na adresu: PROXIMA, bux 24,PSCRegistracní40021a mesto:Ús!fcíslo:nad Labem Již Vás omrzelo pouze si s pocítacem hrát? Chcete jej využít prospešne? Chcete aby Vám vydelával peníze? Pak je tady šance práve pro Vás!

Za cenu pouhých 2500,- Kcsse stane z Vašeho lX-Spectra profesionální nástroj. V cene je zahrnut HW, SW a prírucka pro uživatele. Komfortní ovládací software obsahuje zabudovaný rádkový prekladac i zpetný prekladac instrukcí 8035/8048. Emulátor je vybaven sériovým rozhraním RS-232C. které umožní Vašemu lX-Spectru komunikaci sjinými pocítaci. K emulátoru je možno dodat také simulátor EPROM Falcon Software P.O. Box 8 Tel. : 0641-543 876 751 24 PREROV Fax : 0641-52662,52745

SOUBOR HER e r-J]AHJONGG (I)

komplet 5 her, na k<3zete idiskete pro D 40

a ;<,IAH 10NOG - starobylá logická hra s orienlálním n:ím~tem, Odebiráni obr:ízl.il z pyramidy. k dispozici jsou na kazd~ dalši sa,ly obr:ízku. • PERESTROJK.\ - akcni hra zn:ím:í z pc, byrnkral versus d~mokral. V livodu i z;ív~ru v:ís pOI~,i ohr:í/ky pana GO!ha"ova a v pnH~hu hry vesd~ melodie z I1Iskýdl Sl~pí. !Ira j~ \ho,ln:í pro hdl',' s d()h~'1I1poslkhem. I " EXPI ,()\)I"'(; XI'U:>'IS - logkk:', hra ~;isl~"u~ poclobu:í l'išhork:ílH, 1Ir:í1mohou bLld' I clva hr:il'i. nd", hdc proti rol'íta~i. !Ira IH:;"128 k" huclbu. taki,~ ,k pii .kjilH hralli pr(jelHu~ (nikoli 1I11111~)Ulit iukrra~~ ;<'(I·J.()()[K, I • .-\KCIO:-;,\I{ (I - au~b tr~nlljk' s,' v poclnikání. IIr(,,, oh.:hodlli~ s ak~kmi a jdlo i ukolelH.k III/lHlIOiil skroulllý lHajel~k 2n.:X)()." S ua !Oo,non.-- $. I • TEI.EF< J\'iY I - Ived:'lI1iIddoull. hra m;; 'J ohraill a j~ vhodll:í i pro lHal~""Ii. I

PR0X!iMA· zásiiJlkO"1fá slluž1ba bon: 243, 400 ~1. Ús1tx i1lad 1Labe1Jri l'______C~na kompldu k \ 20.-- K~sn a mÚ"'I~ .kj li,kalna o doh"kun . n.' ,\dr,·,,':-_. • _ ZXM 311992 DOZNÁNI

DOZNÁNÍ (ÚPLNÉ)

Nedávno jsme (PROXIMA) z redakce casopisu FIFO dostali dopis, který na jeho adresu zaslal jeden z jejich cten.1rl1 (pan Abraham Z.). StO!žuje sl v nem na "chybu", kterou našel v programu DEV AST ACE. Píše, že se mu DEV AST ACE pri trasov:!ní nahr:1v:!ní programu 11JRTI.ES NlNJA necekane zhroutil, pozdi!ji se svým prítelem pfBli na to, že pokud se na adresu 24297 zaplše císlo 24299 (pakt: 24297,235: Pake 24298.94) a pak se nahraje DEVAST ACE, tak se okamžite zhroutí. To co našel, však není obycejná chyba, je to ochrana, kterou jsme do programu DEV AST ACE vložili- proto, aby se tento program nedal použít k rozlomení ochrany naJich vlaJ/nich programl1. Byl to takový ,,hrích ml:ldr' z dob, kdy jsme programy ješte chr:inili • pozdeji jsme zjistili, že ochrana programl1 pled crackery nakonec stejni! nejvíce postihuje f:1dné (tedy platící) uživatele a také nás - potiže s nahr:lv:!ním, ztr:lta dnvi!ry. reklamace, nemožnost si program upravit atd. Zp:ltky lee :zminované ochrane - v programu DEV AST ACE (v obrazovkové I pametové verzi) je krátlc:l c:lst programu,kter:ltestuje prítomnost urcité dvojbytové hodnoty (24299) na urcité adrese (24297). Pokud se na této adrese požadovan:l hodnota vysl..-ytovala, provedl DEV AST ACE skok na adresu udanou touto hodnotou (24299). Na této adrese se pak v našem programu vyskytoval program, který poni!kud poškodil data v pameti a vr:ltil se zpet. Pir~1tby pak sice naši ochranu prolomil, nicméni! mi!l by nepríliš použitelný kód programu (to je ale d:lbelsky z:lkelné, co?). Vymyšleno to bylo kr:1sne a dokonce to i fungovalo, jak jsem se mohl s:Im na sobe ni!kolikr:lt presvedcit Oednou jsem musel trikr:lt rozlcMov:lvat program BAD DREAM protože jsem vždycky zapomnel tuto ochranu vypnout). Pokud platí poucka, že v každém programu je nejméne jedna chyba, pak v prípade kódov:!ní platí, že pocet chyb v zakódovaném programu narOstá se složitosti jeho zakódov:in( a odkódov:in! (zjišteno a potvneno empiricky).

V programu DEV AST ACE (obrazovkové verzi) je tato posloupnost instrukcí, kter:l prov:ldí testov:!ní prítomnosti požadovaných dvou bytn:

Id hl,(17313) ;do Hl nacti cisto 24297 (10 Jena této adreso) caR 17314 ;nactl do OE hodnotu z adresy v Hl Id (201S4),1x ;tato cjst nesouvls! s testov:1n!m(prozmaten~ xor a ;vynulujflagy a akumui:1tor sbc hl,do ;odec1l24299, nastav! se llagy add hl,do ;plicll zp:1lky jr z,JPHl ;skoc na ó1drosu24299, kler:1Je v Hl ret ;n:1vratz podprogramu

Tento "Trojsl..-ý kM" v programu DEV AST ACE tedy zpnsobuje to, co objevil pan A.Z. Pravdepodobnost toho, že by se na adrese 24297 nfthodou objevilo císlo 24299 je 1:65535. tedy velice nízle:l. Když už víme, co "chybu" zpusobuje, mnžeme ji o

• DEVASTACE+ (obrazovkov:l verze) - ve spušti:!ném programu je na adrese 19210 a pokud proAram nahrajete na ni:!jakou jinou adresu (treba 40000), tak bude na adrese +3311 (neboli 43311 v uvedeném prípade). -17 - ZXM 311992 DOZNÁN I ZVUKOVÝ INTERFACE MELODlK

• DEVASTACE (pami!(ová verze - relokova1elná) - ve sp~leném programu je na adrese +2520 a v instalaci pak na adrese +3567.

Pokud tedy budete chtít "chybu" opravit, nahrajte program do pami!ti od adresy 40000 a vložte príkaz POKE 43567,201 (POKE 43311,201 pro obrazovkovou verzi), pak sl program uložte zpet na kazetu ci disketu príkazem SA VE "DEV AST ACE" CODE 40000,5700 (SA VE "DEVASTACE+" CODE 40000,4600 pro obrazovkovou verzi) - u diskety nez.'pomente pridat oblíbenou • (slovy hvezdicku prípadne hvezdicku pokud se nach:1zite na východ od Moravy). Na záver se odvažuji doufal, že se na mne nebudete za tento malý podraz 333 zlobit (pokud máte náskok v wonnovanosti pred nejakým svým prítelem, mužete si z nej malinko vystrelit a pripravit mu horkou chvilku, už víte jak - stací neco jako ,,lIde nemohl bys mi píchnout s tímhle •.•" a pak se jen dívat, jak se chudák potí). Mr. UTliversum

ZVUKOVÝ INTERFACE MELODIK·

Výrobce oblíbených pocítacu Didaktik Gama, M a nemene popul:1mích disketových jcdnotek D 40 I D 80 prichází na trh s užitecným doplnkem - trfkan:ílovým zvukovým intedacem MELODIK Ilo' bázi obvodu AY-3-8912. Generátor rozširuje zvukové možnost! klasických Sindairu ci DidaktikU na úro\'en ZXS 128K. což znamená, že uživatel má možnost využívat I prevážnou vetšinu hudebních programu pOvodni! urcených jen pro stodvacetosmlc~:y, Generátor MELODIKje o m:1Jo vetší než TF UR-4 a má pruchozí konektor, takže mOže být bez problému snadno pripojen k pocítaci soucasne s jinou periférií, napr. D 40 nebo IF pro . K rcprodukci zvuku se používá malý reproduktorek známý z Didaktiku Gama, prípadne lze použít vnejší zesilovac ci sluchátka stereo. IDasltost hudby z reproduktoru se nastavuje potenciometrem. Srdcem generátoru je již výše zmínený AY-3-8912, který se od AY-3-891O popsaného ve FIFU liší jen menším poctem (28) vývodO a tím, že obs.muje jen jednu bránu VN; po zvukové I programové stránce jsou oba obvody rovnocenné. Pro dekódování adres je použit ~UI3205 a dve hradla 10 74LSOO, zbylá dve hradla tvorí krystalem rízený generátor s kmitoctem asi 3.58 MHz delený dvema polovinou TO MH7474 (druhá polovina 7474 není využita). Zvukový sign:1I generátoru je rozdelen odporovou sítí do dvou kanálu pro stereo a poté dvojicí odporu sloucen na monofonllÍ signál pro nf zesilovac s 10 LM 386. Obvod AY-3-8912 obsahuje jednu obousmernou osmibitovou bránu, lc1erá však u MELODIKu není vyvedena na konektor ani využita pro vnitrní úcely. Pruchozí koncl1or nemá propojeny signály oznacené u klasického ZXS jako U, V, Y, VIDEO, +9V, + 12V, - 12V a pin me7.! D7 a delící mezerou (slotem), nebol ani pocítace Didaktik vet!inu techto signálO nemají použitu. Po elektrické stránce je ve srovn:1uf napr, s nelc1erýml našimi firemními zvukovými generátory MELODIK vyfešen a vyroben velice hezl-y. Plastiková krabicka ani návod u funkcního vzorku k otestování priložcny nebyly a proto se k nim nemohu vyjádrit. Také po zvukové stránce je MELODlK plne srovnatelný s obdobnými z.1padufml výrobky a v mnohém je i predcí (pruchozí konektor, hodinový kmitocet rízený krystalem a pod). Závažné vy1lrady k MELODIKu nemám, jedine snad nekolik následujících drobností. Hrídel potenciometru by mi!la 5m~rovat nejlépe nahoru a nikoliv dozadu, kde kvuli ní nemusí jít nasadit na MELODIK další periférie rozm~mejší než MELODIK. Brána VN u AY-3-8912 by mela být vyvedením na konektor k dispozici uživateli, Je napr. m:\lo zn,'\mé, že i takovou osmibitovou bránu lze po urcitém tril.'1Jpoužít napr. pro pripojení tisk.'\rny s rozhraním Ccntronics u ZXS, o sveteln':m peru nebo myši ani ncrnlllvc. Zvuk pres vestavcný zesilovac a rcproduktorck ncní príliš dobrý, -18 - ZXM 311992 ZVUKOvtlN1ERPACE MELODlK I SIFROV ÁNI DAT

nebol tak malý akusticl-ý menic a navíc bez dobré ozvucnice není schopen dostatecne kvalItne reprodukovat napr. Iuuboké tóny. Pol"\!d by ZXS I Didaktik mely shodné anténní konektory, bylo by lépe použít zvukový modu)jtor a zvuk poslouchat z reproduktoru TYP. Obdobné lclení je použito napt u oblíbené zahranicní periferie Currah Microspeech pro ZXS, kde je k TV signálu procházejícímu touto IF jednoduchým modulátorem kvalitne pridáván zvuk. Cenove I složitostí vychází takový modulátor rovnocenne s nf zesilovacem u MELODlKu. Ocenuji pruchozf konektor u MELODIKu, ovšem bylo by lépe, kdyby takový pruchozf konektor sprše než MELODlK obsahoval již posilovac sbernice u disketové jednotky D 40, což by uvítali uživatelé, kterí soucasne s D 40 potrebují používat I jiné zarízení, napl. klasický hudební generátor s nepruchozfm konektorem. Jinak jsou nuceni používat bud jen Jediné zarízení a nebo rdzné rozdvojky, které prodlužují a zatežují sbernici pocítace a se kterými pak nekteré periferie nemusí vždy doble pracoval. Spolu s D 40 jsem MELODlK nemel možnost pro krátkou dobu zapdjcení otestoval. Tak jako k.1ždé z.,rízení lze I MELODlK a s ním ve3inu u nás prodávaných a nebo amatérsky konstruovaných hudebních generátoru vylepšil. První zdokonalení se týká vrazení trí miniaturních spínacd DIL do prívodu k jednotlivým kanáldm A, B, C u AY-3-8912. Jejich spfnáním a rozpojováním pak pri hraní mdžeme zjlš(ovat, jakou melodii který kanál hraje a tedy napl. poznávat, jak je skladba udelaná (místo spínacd lze použít I potenciometry smešovace). Uživateli se casto stane, že napr. pri BREAKU nekteré melodie v BASlCu zdstanou ve zvuk. generátoru uložena naposled zapsan:i data a prestože je program zastaven, generátor trvale hraje poslední tóny. Rešením je provést RESET a nebo znovu zapnout a vypnout pocítac, címž ovšem prijdeme o program. Proto se vyplatí mít na generátoru vlastní tlacítko RESET, které sice vynuluje generátor, ale nezpusobí pritom RESET pocítace. Zvukový generátor by mel obsahovat také spínac INHIBIT zamezující kolizi se soucasne pripojenými periferiemi, které používají stejné adresování anebo jeho zrcadel. Konecne u MELODIKu lze využít 1/2 107474 napi'. jako jednobitovou bránu ve spojení s dekodérem 3205 a hradly. Brána muže sloužit mj. napr. pro programové provedení funkce J1';1llBlT (uzamcení prístupu do zvuk. generátoru). Uživatel Didal1ik"\! Gama se asi podiví, že mu MELODII<. stejne jako I jiné generátory s AY-3-8910 ci 12 sice bud.: fungovat pri ovládání ze strojového kódu, ale nikoliv pri instrukcích IN a OUT z BASICU. Tento jev je zpdsoben programovou neslUcitelností Didaktik"\! Gama se ZX Spectrem pri interpretaci príkazu typu OUT a lze jej rešit napr. napsáním krátkého programu ve strojovém kódu, anebo úpravou pocítace umožnující využívat Sincl:úr ROM (napr. použitím vnejší EPROM, úpravou na tzv. magické možnosti a pod.) Zvukový generátor MELODlK je vítaným doplnkem Sinclalru I Didaktitru a jiste nalezne oluas mezi hudebními pi'fznivci. Škoda jen, že se na našem lIbu za stejnou cenu (Kcs 690,--) neobjevil již pred nekolika lety a pi'ich.1zí až v dobe, kdy je náš lIb již zcásti nasycen obdobnýtIU I když ne vždy tak kvalitními výrobky jiných firem. - Ta:-

ŠIFROVÁNÍ DAT

Šifrov~ní dat na ZX Spectru používají firmy nejen pro ochranu programového vybavení pled pir~ty, ale uplatnuje se laké v belné uživ;ucls1:é praxi. , Uvcdeme II:lpr. príhodu z jednoho klubu výpocetní technIl'}', kde již asi pi'ed 10 lety byl predváden Ichc1ejší hit • program pro jemnou grafil"\! na pocítaci Slncl:ur ZX-81. Tento klub programy rád prijímal, pr~'Uvádcl, al.: nerad poskytoval 1.ájemcum. PtI jedné klubové schuzce nCZll:lmý mladik ukradl predvádecí kazetu a se slovy: "nikdy bych neveril, že neco takového c:dstuj.:", ZlIUzel se svým kamarádcm na motorce ješte dlfve, než se ostatní vzpamatovali. Jaké vš-1\.:asi muselo být doma jejich pr.:kvapení: program byl z.1Šifrovaný tak, že bez znalostí tajne zadávaného hcsla jej nešlo pouŽíl. -19 - Z,XM 3/1992 SIfROVÁNf DAT

Šifrování dat na kazeL1c'h pro ZXS se používalo zejména pri výmene se zahranicím. I mezi celw1cy byli Sp.:clrish! a kdo pres hranice poslal nešifrovaný program. molu si být jlsl, že si ho nekdo po ceste zkopíruje. Proto vzniklo nekolik šifrovacích kopírovadel, napr. CRYPTOCOPY, která dok.1za1a data pred nebQ po nahrání zakódovat nebo odkódovat podle hesla, které znal jen odesilatel a ph]emce. Nebylo to zase tak jednoduché, protože existovaly z:U:ony zakazující pred.1vání jakýchkoliv šifrovaných dat do ciziny. Zde se jedn:tlo prev:1žne o pocítacové hry nebo systémové programy a na kazete byIvždy uveden jejich seznam, L'lkžepokud vím, nikomu se tehdy kazeta ani její obsah neztratil (nebyl smaz.1n). Dále bylo použito šifrování dat pro ZXS na nekterých výstavách, kde byly prevádeny nekteré autorské programy. I když byla tu a tam nekterá kazeta zcizena, zlodej krome ní nezískal více než názvy programtJ a zašifrovanou posloupnost k6dtJ. Pro šifrování dat se dobre využívají HW-doplnky, napr. EPROM pod názvem SECURE ROM a pod., které v podstate umožnují šifrování dat i velice rychle napr. v cimcl ctení z MGF, Microdrive nebo disku. Ke k6dování a dekódování dat existuje celá rada zptJsobtJ, od tech l:Jasld:ých a jednoduchých až po ty nejmodernejší (napr. metoda s verejne prfstupnýmn klícem). Pro ZXS se hodí I ty jednodušší postupy, které jsou ZIcirné napr. z nekterých pocítacových her a pro ochranu dat na kazete, která mtJže být bud zcizena nebo nelegálne okopírována napr. pri posilání, bohate stací. Algoritmus však musí být takový, aby heslo nebylo možné z programu jednoduše zjistit (napr. pri operaci XOR mezi heslem a posloupuostí nul se heslo v zakodované posloupnosti objeví) ani zjistit porovnínfm dvou nebo více obdobne zak6dovaných programtJ. Ryze hardwarové zptJsoby kódování mají vyl10du v tom. že casove nezatežují pocítac a programy, kde chceme pracovat se zak6dovanými daty není zapotrebí jakkoliv upravoval. Takový utajovac se pak zapojí jen mezi vnejší z:mzení (napr. MGF nebo disk a pocítac) a po z.,dání hesla mtJžeme zacít normálne pracoval Kdokoliv by však z disl.:u nebo kazety chtel data ci programy využívat, bez znalosti l:Jfce a bez utajovace, neuspeje. V z.wanicí, ale i u nás napr. ve vojenské spojovací technice se podobné zptJsoby již mnoho let používají nejen pro utajování d.,t pocftactJ, ale I napr. pro utajování telefonních hovoru - tzv. scramblery .. E.'Ustují metody vycMzející z teorie k6dtJ, kter)'IIlÍ lze i zašifrovan.1 data bez znalosti klíce odkódovat (ne však z., každých okolnosti). Zatím však nemáme k dispozici tak rychlé pocítace a takové metody odk6dování, k1ero! by byly dostatecné k temto úceltJm, takže pri volbe úcinné metody je ochrana dat více méne bezpecná. - rex -

MczmbrámJ kczIdóvesm:i SjXldra (pouze ke II gumov~mua S~ctru)

Náhradní membránu vám zašleme na dobírk'U za 120,-- Kcs na adrese:

PROXIMA, box 2-t, 40021 Ústí nad Labcm

(r\'I;'unejen omezené množSl\i!)

- 20- ZXM 3/1992 soUTEŽ

..... ,.- , , -., .., - ....•.• ,•..•...... •.•,., ' .. ,.,'". '," ','-' '-',' ....•,....•,. ',' ...... •...... , , ..•....,•...... - •.•.•.•.•.•.. •• ',','_',"_","_'," ",0 ••••• , ••••••• , •.•••.••• ,., ••••••• , ••••••••• ~ ••••••••.•. _," '," 0," '_', •• ',' ", ',' ••••••.•••.•.• _•.• _••••••••••.•.•.••.•.•.•.••••••••••.•.•.••.•.•.••••••••• ...... - - - '," ',' , ..- ,., , , ,.,. :::i:::::::::t:ii:::H:i:iii:::::::fil:::::::::II.:!::i=:i::·i::::::iiI::mi:::i::iii::::::::·:::::n:::::~:~::n.:nm::::::I:::m:·;:::::::I::::::::::::?:::::::::::v::~::::::::i::::::::::::::::::::j:::::::::m::::: . . .. .• . • ••• o .•••...•.• "'. n •.••••••••••••••.••••••••••••••. (fí··!!·····...... :.~~ "1:!!'""•...•...... •.•.....•...... •...... •...•..•..•.•.•...... •...... ••...•···································~········i·"'j POZOR! POZOR! POZORl

Je to neuveritelné, ale ie to tak! lX Spectrum letos slaví 10 let své existence a Vvie mužete oslavit spolecne s ním!

JAK?!?

ZOcastnete se souteže softwarové fIrmy

I» Pfi{)XJrIIli « I V tomto a následujících dvou císlech 'LX Magazínu vyjdou otázlcy z historie spectr.áckých her ... Nevadí, že máte "emko" nebo Gamu - zapátrejte v minulosti jejich starš/ho sourozence ..•1 NejvetU soutež, co Spectrum pamatuje - tri kola otázek a ve ctvrtém kole HRA! POZOR! POZORl POZORl

SillI.tižnr pravidla: V tomto a v následujících dvou císlech ZX Magazfnu najdete vždy deset otázek (tj. dohromady 30 olázek), ty1cajících se vetšinou starých her na ZX Spectru. Za každý správn~ zodpov~zený údaj získáváte jeden bod, celkem mdžete získat až 100 bodd. Pfík!ad otázky (nesoutežní): • Napišle, co znamená zajímavá zkratk.1 TDATB a co v této hre hraje za hudbu: ...... , (2 body)

Vaše odpov~di ciléln~ vepište nad teckovavé cáry. Císlo v závorce udává. kolik bodd mdžete získat. 01 tomto prípade by 10 byly dva, za odpovedi The Birds And The Bees a Let cmeláka).

Druhou cáslf souto!žeje lextová hra IIEROES, za jejíž celkové vyrešení ml1žete získ.1t až 120 bodu - ale pozor: to, že hru projdete do samotného záveru ješte neznamená, že jste získali všechny body, proto nepodléhejte predcasnému nadšení a zkuste to treba znovu ... I

Po dohrátí se na obrazovce objeví V~e skóre a údaj, kleré spolecne s vyrešenými olázkami zašlele do 31. 12. 1992 (skóre + odpovcdi na všechna 3 kola najednou) na naši adresu: PROXL\L\, box 24, .t00 21, Úsl! nad Labem. Do slosování budou zarazeD.i všichni, kterí dosáhli celkove alespon 189 bodO, pricemž cím více bodu, tím lépe, protože získáváte vetší šanci na vylosování.

Hra je chrán~na proli predcasnému hranr a zkoumání rafinovanou ochranou Tbe Retum Of Tbe Living Dcath (Návrat žijícr smrti), jejrž soucástí je i heslo, - existuje-II nekdo, komu by se snad to pravé podarilo objevit, muže si z našr produkce vybrat, ua co bude mH chuL. good luck!

Heslo :1 vecné ceny, které cekajl na 10 neJlep;ich se dozvfte v pátém císle ZX Magazlnu! - 21- ZXM 3/19'12 soUTtl

I) K ne;wpomenutelným hr:im z pocátku spectIácké éry zajisté patrí trilogie o prapodivném stvorení se jm.!nem HOIL\CE z distribuce firmy & i\ldbourne HOiL,e. Kdo byl autorem

Horácu a jak se jednotlivé dny jmenují? (z Beam Software), I.

(3 body) 8) Ve stejném roce (tj. 1986) došlo i v IWí zemi k závažné softwarové události: "neznámý" praL1k s nezamenitelnými iniciálami vypustil na lid sV11jprodukt , díky kterému se do podvcdomí ceského hráce dostala postava dnes již notoricky známého, legend:lnúho nezamcstnaného program;Hora a jeho prítele ...... (to je ten, co má vždycky neco v pácu ) - oba dva pak byli donuceni úciru.ovat v dalších pokracováních pOvodní hry (4-7) - bohužcl, úroven techto dílu byla podstatné slabší, prol02e jejich autorem nebyl . (5 bodti) 9) Hvczdotresenf alias STARQUAKE od Stcphana Crownaje hra s krásnou grafikou, hezkou hudbou, dobrým nápadem - co? Pol'Ud jste Starqu:lke hráli, nebude pro Vás tcž.kým úkolem vypsat hesla všech tcI.:portacnfch stanic: , .

(11 bodu) 10) Víte, ve které hre m~lete pOlbt obliceje Ronalda Reagana, MargarcI 111.,tchcr, Cliva Sinda.ira? Kdo netuší, má štcstf, protože se to v-lápctf dozví - je to SI'LlTTING IMAGES z produkce DO:\IARK. ,\ otázka? No - 11.1pište,cí oblicej skládáte jako poslední (ne ten, ke klerému jSle Vy došli, ale len, co je v 11. kole): ' (1 bod)

- 22- ZXM 3/1992 l'OCtr AtoVÉ PlRÁTSTVf

POCÍTACOVÉ PIRÁTSTVÍ

Pocítacové pirátství je v soucasné dobe v Ceskoslovensku jednou z nejrouílenejších protiprávních cinností, která znacne, i když zdánlive skryte, poškozuje domácí softwarový trh. Pod tímto pojmem rozullÚme neoprávnené nakládlli1í s pocítacovými programy, které je v rozporu s právními predpisy. Podle autorského zákona, do nehož byly pocítacové programy jako jeden z druM autorských del zahrnuty v polovine roku 1990, lze s programem nakládat pouze na základe souhlasu jeho originálního autora a rovnež mu za užívání programu zaplatit autorskou odmenu.

Autor má podle § 12 tohoto zákona právo na nedotknutelnost svého díla a zejména právo absolutne rozhodovat o nakládáni se svým programem. Bez jeho smluvního souhlasu nelze tedy program užív~, kopírovat, dále prodávat ani prekládat nebo jinak upravovat. Za dovolené užití, a to i formou širení programu, náleží autorovi vždy urcitá odmena (§13).

Z toho všeho tedy vyplývá, že kdo nemá patricný souhlas autora nebo autorem oprávnené osoby, nemOže s programem jakkoliv nakládat. Pakliže tak ciní, porušuje autors1ct práva - dopouští se pocítacového pirátství. Z tohoto hlediska mOžeme tedy rozl1šovat tyto druhy a zpOsoby pirátství: 1) Neoprávnené užívání pocítacových programO predstavuje nejrouírenejší zpOsob, který spocívá v užívání nelegálne získaných nebo rozmnožených kopií. Neleg:Unost spocívá v tom, že kopie byla porízena bez souhlasu autora a nebyla mu vyplacena jeho zákonem priznávan.1 odmena za další užití jeho díla. 2) Neoprávnené šírení pocítacových programO rozmnožování a prodej kopif pocítacových programO opet bez souhlasu pOvodního autora a bez vyplácení odmeny. Tento druh pocítacového pirátství je velmi rozšíren zejména u ruzných pocítacových her apod. 3) Plagiátorství spocívá v okopírování a úpravách cástí pOvodních programO tak, že se nové programy zd.ánIive jeví úplne odlišne. I když vykon.1vajr stejné funkce. Zde se jedná napr. o tzv. "pOvodní obdoby" ruzných západních programO, které se pak prodávají za mnohem niŽŠí ceny. 4) Neoprávnené vytvárení národních verzí pocítacových programO je prekládání z:U1ranicních programO a doprovOOné dokumentace a jejich mení bez souhlasu pOvodních autoru. Zde pristupuje krome hrubého porušení autorských práv ješte problém kvality techto preklalh1, která není nijak zarucena. Všechny tyto formy pocítacového pirátství se samozrejme projevují negativním zpusobcm na rozvoji softwarového pn)mysJu u nás. Snižuje se jimi zájem našich I z:U1ranicních - 23- ZXM 3/1992 PoctrAtoVÉ PIRÁTSTVi

prooucentii p

§32 autorského zákona uvádí, že autor, jehož právo bylo pirátskou cinností porušeno, se muže domáhat toho, aby rušení jeho práva bylo zakázáno, následky porušení odstraneny a poskytnuto mu primerené zadostiucinení. Na zadostiucinení v penežité cástce má právo i v prípade, že mu byla zpusobena újma tzv. nemateriální povahy, tj. poškození jeho dobrého jména apod. Vznikla-Ii autorovi škoda (napr. ušlým ziskem z vlastního prodeje svého programu), má právo na její náhradu.

Na porušení autorských pdv pamatujc i trestní z:1kon. který v § 152 st.'\noví za toto jedn.1ní trestní sazhu odnetí svobody až na I rol: nebo penežitý trest až 1 000 000 Kcs nebo propadnutí veci. V posledních Ictech zaznamenal boj proti pocítacovému pirátství ve vyspélých zemích radu konkrétních úspéchu a i teskoslovensko je pochopitelne nuceno v rámci svého integracního úsilí zacfl s úcinným bojem proti temto jcviim. U n:\s se i s meziIclrodní pomocí l.'\býv:1 touto problematikou agentura AURA-PONT, spol. s r.o., kter:1 romet. l.'\Stupuje autory pocítacových programu. lak je videt, vymýcení lohoto ncgativwno jevu bude zálc1.itost( dlouhodobou a je treb..'\,aby se všechny l.'\int.:resované strany, program:Uon, producenti, dislributori i uživatelé spojili s príslušnýnu opr:1vnenými státními org:ú1y v boji proti nemu.

(pro 7J( magazin napsal JUDr. AkI KOIII) - 24- Z.'(M 3/19"2 STROJOvý KÓD Z-SO (TROCHU JINAK)

STROJOVÝ KÓD Z-80

(trochu jill:lk)

V úvodu druhého dílu dovolte prosím malé doporucení pro rodice a úplné zacátecníky: na celostátním seminári v Brn/! 1987 se svazarmovci (ing. Pecinovský, ing. 'l'imar, ...) shodli v tom, že nejhorší ze všeho je zacínat BASICEM. Nejlépe je ucit se principum programování KARLEM, pak pokracovat PASCALEM nebo LOGEM, potom již strojovým kódem a BASICEM se kazit až nakonec ... b) instrukce DJNZ

Pri cyklu s pocítadlem v B-registru lze vy11odn~ji použít instrukci DJNZ, která vlastn~ nahrazuje dve dríve použité instrukce na rádcích 90 a 100. Proto se vratte do gensu teplým startem, príkazem 090,100 smažete uvedené rádky a zapište nový: 100 DJNZ ZNA!<. Provedte nový preklad programu a zkuste, zda se chová opravdu stejne. c} krokování cyklu v monsu

Pro ideální predstavu o funkci programu s cyklem vytvoríme program, který lze krokovat po instrukcích. Po každém kroku si mužeme prohlédnout obsahy jednotlivých registru a tak se presv~dcit, zda premýšlíme tak jak pracuje procesor a náš program. V~tšina rutin v ROM se v monsu krokovat nedá nebo jsou tak dlouhé, že krokování nem.1 konce. Proto ph1:Jad bez nich: 10 ORG50000 20 START 30 LD HL,f5940 ;ADRI.SA OBLAST1AllUBlIIU 22848 40 LD B,32 ;POCET 50 LD A.40 ;BARVYPAPER5 (CYAN)· 8 + INKO 60 ULOZ LD (HL).A ;ULOžl OBSAH A-REG NA ADRI.SU DLE HL 70 INC HL ;zvtT$1 HL O JEDNléKU (INKREMEN1) 80 DJNZULOZ ;B <- B-1 A DOKUD B NENI NULA ;zPET NA NÁvtSI1 ULOZ 90 RET ;JINAK NÁVRAT DO BASICU Program preložte a prejd~te do monsu. Napište C350 a schvalte"" (teckou). Sledujte vlevo nahore programový cítac PC - je takto napln~n startovací adresou #C350, tj. 50000. Klávesou H:" program krol.:ujte. Sledujte pln~ní registru, jejich úpravy a výsledek na obrazovce. Volný rádek na obrazovce se prebarví na modro. Po krokování je cinnost programu úplne jasná. Porovnejme rychlost tohoto programu s programem zapsaným v BASICu: 1000 FORN-22848 TO 22848+31 1001 POKEN.40 1002 NE.'

Vložený cyklus Oblast atributu l.1cíná n.1adrese 22528. ZI..-usímeji zamodrit nejprve programem v BASICu: 1000 FORN-22528 TO 22528+22·32-1 1001 POKEN.40 1002 NEXTN 1003 PAUSE 100: CLS:GOTO 1000 - 25- Z-XM 3/1992 STROJOy)' KÓD Z-8D (TROCHU JINAK)

Tato akce trvá cca 10 vienn. Nyní zkusíme program ve strojovém kódu. Nabízí se úprava predchozí ruUny. Ale tady bychom potrebovali naplnit B-registr (pro pocet) hodnotou 32"22. tj. 704. Instrukce DJNZ snižuje o 1 pouze B-reg., ne dvojici BC, do kter~ by hodnotu vetší než 255 by 10 možno zapsat. Proto si zvolíme pocítJldlo rádku do C-registru a program upravíme takto:

10 ORG50000 20 STARI 30 LD HL,'5800 ;1. ADRESAOBLASI1 ATIUBU1Ú 40 LD A-4O ;PAPERS' 8 - 40 + INKO 50 LD C,22 ;AADKu 60 ZNOVA LD B,32 ;ZNAJ<Ú/AADEK 70 UlOZ LD (Hl),A ;OBSAH A-REG. NA ADRESUDLE HL-RtG. 80 lNe Hl ;Hl <- HL+ 1 90 DJNZUlOZ ;32 KRÁT,1]. AADEK 100 DECC ·C <-<:-1 110 jRNZ,ZNOVA ;DOKUD NENI <:-REG.NULOVÝ ZPETNA ;NÁ-vtš1f ZNOVA, 1]. NOVÝ AADEK t20 RET ;JINAK NÁ-VRATDO BASICU

Prohlédnete si vložený cyklus s pocítJldlem v B-reg. a vnejší cyklus s pocítJldl~m v C-reg. Program preložíme, mužeme krokovat ci spouštel celý a porovnávat jeho rychlost se stejným programem. v BASICu. Programové rádky 1000 až 1002 ponech.1me a pokracujeme: 1003 PAUSE 100:ClS:PAUSEloo 1004 RANDOMlZE USR50000: PAUSE 100, ClS. PAUSE 100. GOTO 1000

Dvojice registru

Naucili jsme se využíval pri cyklech B-reg. a instrukci DJNZ. Tento registr nemusí být vždy volný nebo nám nemusí vyhovovat jeho maximum (255. resp. pri naplnení nulou 256 cyklu). Ukážeme si cyklus s využitím DE-reg. V následujícím programu si uvedomte. že instrukce DEC ci lNC s dvojicí registru nenastJlvuje indikátory. Musíme ošetrit konec cyklování jiným zpusobem:

10 ORG50000 20 STARI 30 LD HL,'saDO ;ZAUTEKATIUBU1Ú 40 LD DE.32'22 ;PQáT CElKEM 50 ULOZ 60 LD A-4O ;MODR? PAPIR 70 LD (HL),A ;Uložl OBSAH A-REG. NA ADRESUDLE Hl 80 lNe Hl HL <- HL + I 90 DECDE ;DE <- DE - I 100 LD A-E ·A<-E 110 ORD ;LOGICK1 SOUtET IEDNOTLIVÝCHBnu ;REGlSTjU)DAr. Jr.ULO%ENDO D-REG ;Jr.-LIVYSlEDEK NULOVY Jr. NASTAvr.N ;INDIKÁTORZERO 120 JRNZ, ULOZ ;NENf-LI NASTAvr.N ZEROzl'tT NA ULOZ 130 RET ;NÁ-VRATDO BASICU

Prelož. krokuj, napln DE hodnotou 0001 a dokrokuj program. Sleduj záver od rádl-u ]00. Zruš rádek 50 a náveští ULOZ vlož na rádek 70. Prelož program a spust. Vysvetli, proc se program chová jin.1k. Vraf rádek 50. Inslrukce na rádcích 60 a 70 lze zapsat jedinou: LD (Hl), 40 Vyzkoušej, Ij. oprav, prelož, krok-Uj,... (napsal in8. JiH Vacck, pokracovdn( phs/e) - 26- ZXM 3/1992 LEMMINGS • HORKÁ NOVINKA

LE""MII" - "ORIlR "'OUfNIl"

Už jste casto meli náladu typu: "Já ten krám prodám a koupím sl písícko! Kde ale vzít peníze?" Nezoufejte, už písícko nepotrebujete, máte ho už doma! Nebo( tato hra, se kterou se již nekterí z vás setkali, je hitem na šestnáctibitových pocítacích od roku 1991 a od letošního roku se s ní setkáváme i na starém dobrém SPECfRU. Osmibitová verze je plnohodnotná verzi na PC, pouze je monochromaticJc.1. A proto budiž naším heslem: "Udelej vše pro záchranu Lemmingl1l!!" Kdo to vlastne ti Lemmingové jsou? Jsou to drobné postavicky, které mají castou potrebu stehování. A protože nejsou moc premýšliví, mají pri stehování velké problémy. Jdou a jdou, když do neceho narazí, tak se otocí nazpátek, mohou spadnout do vody ci ohne a rovnež jim neprospívá pád z velké výšky. Je tedy na nás, abychom jim pri stehování pomohli. Nechají si totiž od nás poradit a udelají co chceme. Když jim porucíme, umí stavet schody, kopat do zeme tremi smery, pracovat s vyoušninou ci zastavit ostatní a otocit je správným smerem. Ne vždy vás ale poslechnou. Po nahrání úvodní obrazovky provedeme volbu ovládání - klávesy Q, A, O, p, nebo Kempston. Stisk Fire vám prozradí, co vás pri záchrane Lemmingl1 ceká. Na obrazovce se dozvíte kolik Lemmingl1 máte zachránit, ve zmenšeném merítku zde vidíte celou situaci a dozvíte se i cas, za který se vám to musí podarit. Pokud pro nekterý level zn;íte heslo, pak jeho vložením, v predchozím menu, se prenesete do tohoto levelu. Po stisl-u Fire zacíná hra. Na obrazovce vidíte místo, odkud Lemuungové vycb.1zejí a v jiné cásti je domecek, kam je máte dopravit. Prfm.1 cesta tam ale nevede. Musíte je dopravit pres vodu, ohen ci propast, prokopat se skálou a podobne. Ve spodní cásti obrazovky je rada ikon, které urcují bemmingum ruzné cinnosti, potrebné k jejich z.1chrane. Tyto první dvc ikony zleva vám slouží na zpomalení ci zrycWení príchodu Lemmingl1.

Tento Lemming má oznacení CLIl\IDER a umí šplhat kolmo vzMru.

- 27- ZXM 3/19<)2 LEMMINGS - HORKÁ NOVINKA

FLOATER je Lemming, který prežije i pády z nejvet~í výšky, nebot si po chvilce padání otevre deštník a pad.1 pomalu.

Tohoto druhu Lemmingd je mi trochu líto, nebot se obetují pro ostatní - nOl'vIDER umí toUž zpusobit vyouch a tím uvolnit cestu.

Jestliže chcete aby tímto místem nikdo neprošel, postavte ostatním Lemmingum do cesty BI.OCKERa.

Potíže vám rovnež zpusobí roznc propasU ci phliš vysoké prekáU,:y, pak použijte BUILDERa - umí stavet schody.

Nekteré prekážky, jako sloupy ci sk:!ly, se dají ve vodorovném smeru prohrabat; to umí jedine BASIIER.

MINER drží v ruce krumpác a soutavne kope; prorazí tunel šikmo dolu. Pozor, jdete po rovine a najednou je otvor tam, kde pred chvílí nebyl! To DIGGER umí hrabat kolmo dolu.

Tato ikona slouží k našemu odpocinku a chvilce pro premýšlení - zpusobí zastavení hry a její pokracování.

Lemmingové, které jste použili k zastavení a otocení ostatních. nám už nepomužou, a tak použijeme tuto ikonu - zpusobí behem peti seb:und vyouch Itl zbývajících Lemmingu.

. a kurzorem najedte 0.1 postavicku Lemminga a sUsknete Fire. Lemming zacne vyvíjet J.potrebnouak ty predchozípráci.ikony použít?Ale pozor!Pomocí klávesU Z, X ci O - 9 se nastavte na potrebnou cinnost jednotlivých ikon jsou císla, která udávají, kolik Lemmingu lze takto použít. Nula znamená, že tato cinnost nelze použít. Je tedy potreba obcas zapremýšlet. Ikona pro pauzu se inicializuje stiskem Space a ikona pro vyouch zbylých Lemrningu stiskem Extend módu (SS + eS). Nad ikonami jsou infonnace o poctu Lemrningu v místnosti, o poctu zachránených Lemmingu a o case, který na z;\cbranu zbývá. Mnohdy Je místo, kam máte dopmvit Lemmin2Y mimo obrazovku, nezoufejte a použijte klávesy L, ENTER. Po uspcšné z.1chrane se dozvíte heslo pro vstup do dalšf cásti. Hesla si pište, at ne;wUn.ite porád znova - hra má 60 cástf!1I Majitele disketových jednotek D40 poteším, hra je l v disketové verzi.

- 28- ZXM 3/1 992 LQ-IOO; NOVINKA S 24 JEIILICKA.\II

LQ-IOO: NOVINKA S 24 JEHLICKAMI

Nová 24 jeh[j~ková tiskárna LQ-lOO je výsledkcm dvouletého pruzkumu !rhu zam~reného na požadavky a vyutití 24 jehli~kov~ch tiskáren pro hobby a malé úradovny. Výsledné nároky, kladené na nastupující optim.1lní tiskárnu a 24 jchlickami, stanovil EPSON takto: • pohodlí obsluhy: vestav~ný automatický zava,l~~ jednotlivých listu (CSF) • nabídka písma: 5 sa,( LQ, 2 sady s prom~nnou velikostí písIDa (SCALE) • úspora místa: provoz ve svislé, vodorovné a záv~sné poloze a schopnost dialogu: základní nastavení pres PC nebo tlacítky ANO I NE • nízká hlucaost: uzavrené provedení

LQ-lOO pracuje béžné s automatickým zavadé~em jednotlivých listO (CSF) a je tak první 24 jehli~kovou tiskárnou niBí cenové hladiny s tímto z:1kladním vybavením. LQ-lOO potrebuje pouze doplnovat papír v kazeté CSF, jinak všeclmo ostatní už provádí sama. Papíry si automaticky zavádí do tiskové pozice. Umožnuje též tisk n.1 pcrforovaný papír. Vysoká kvalita tisku, tichý provoz a ruzné možnosti nastavení z ní délají jednoduchou tiskárnu pro kteréhokoliv uživatele. Zcela uzavrená konstrukce v novém návrhu zajištuje dobré tlumicí schopnosti a mOže vypadat bUlf jako ležící nebo stojící kufn1c, pricemž v techto poloh.1ch i pracuje. S pomocí prídavných úchytu je také momé ji pripevnit na ze,n 24 jehlicek vytvárí vPo1mikvalitní tisk. Nový opcracní systém ESCIP2 nabízí LQ-lOO vedle rychlého tisku i 5 sad písma. Navlc m:1k dispozici 2 sady (Roman a Sans Seri!) s promennou vclikostí písma (SCALE od 8 do 32 bodO). Ve spojení s všestrannými schopnostmi využití umobluje LQ-lOO také budoucímu majiteli cenov~ príznivý mimorádný vnéjší komfort a zvláštní mo~.nosti. LQ-lOO tiskne texty rychlostí 60 znak-u za sekundu. ESCIP2 disponuje mimoto optimalizací grafických funkcí. LQ-lOO je sice urcena na práci s jednotlivými listy, zvládne však s prídavným traktorem také pcrforovaný papír, jcdnoduchý i s kopií a nálepky. I zdc díky parkovací pozici funguje velmi jednoduše prcpínání s jednotlivými listy stejné pohodlné, jako u všech ostatních tiskáren EPSON. Infonnacc o provozním stavu a typu písma poskytují signálky z LED. Pro ovládání LQ-lOO bohaté posta~ují 2 tlacítka. Slouží k VYD~ruznakové sady a k manuálnímu vyjetí papíru. Vnitrní nastavcní tiskárny je velice jednoduché: LQ-lOO vytiskne v predem zvoleném jazyk"U otázku na papír a uživatel na ni odpovídá tla~ítkem ANO ncbo NE. Ncjsou zde nutné DIP spínace. Konfigurace se uchovává i po vypnutí. Pomocí uživatelských programu MS-DOSu lze konfiguraci ovládat i z PC. S LQ-lOO uskutecnil EPSON po úspéšném nástupu rady LQ-570 1870 další vývojový skok u 24 jehlickových tiskárcn. Tentokrát se tato tiskárna pohybuje v nízké cenové hladiné 24 jehlickových tiskárcn s novým provcdením manipulace s papírem, príjemnou obsluhou a prizpusobivostí. Dl1cysvé technické prevaze EP~ON zvítézilna~ konkurcncí v této cenové hladin~. Prehled technických parametru LO-100 Systém tisku: 24 jehli~ková tisk-1ma Provcdcní: uz.wrcná Poloha pri cinnosti: horizontální i vertikální Rychlost tislm: DRAFf 167zni s LQ 60 zn I s Životnost: hlava: 200 mil. úderu I jehli~ka páska: 2 mil. znakO LQ (I znak = 48 bodO) ~írka tisku (pica): 80 znak-uI rádek ,Písmo: Bitnmp: I x DRAFr 5 x LQ: Roman, Sans Serif, Preslige, Courier, Script Scale: Roman a Sans Scrif: 8 až 32 bodO Grafika: 360 x 360 dpi (bodO I palc.:), obousm~rná s logickou optimalizací - 29- ZXM 3/1992 LQ-IOO: NOVINKA S 24 JEIIUtKAMI

Buffer: II kB; lze prepnout na 1,7 kB Zavádení papíru: jednotlivé listy 1. z:!sobník na 50 listn (CSF) 2. manuální zavádení s automatikou perforovaný papír pomocí prídavného traktoru s parkováním Interface: Centronics Ptíslmenství: tlacný traktor Operacní systém: ESCJP2 je novou nOI1llOU,která je založena na osvedceném ESCIP. Krome toho obsahuje promennou velikost písma a optlmalizacl grafických funlccí. Cena: okolo 9.000,-- Kcs bez dane (pam. z:\ ceny bez dane mohou nakupovat pouze podniky, které jsou zapsány v podnikovém rejsthlru. Ostatní fil1llY, soukromníci a obcané, musí nakupovat s dani. Cenu s daní dostanete z ceny bez dane vynásobením 1,25)

(pft!VZIlto ze zahranicnr110 tisku) KDD 1, POSLEDNÍ INFORMACE

Autor DESKTOPu nám dodal ješte 2 utility, které budou soucástí kom pletu KUD 1. Jedn.:i se predevším o možnost prevodu souboru typu sekvence do DESKTOPu (s možností navolit si konverzní tabulku) a prevod adresáre diskety do souboru. Utirrta insert+eat má Mo funkce: • disk CltnlO: (prevod adresáre diskety do DESKTOPu) • losert settuence (prevod sekvencního souboru z diskety do DESKTOPu. To vám umožní napr. velice jednodušc prevádet texty z jiných textových editoru do DESKTOPu, BASIC programy do DESKTOPu, zdrojové texty z assembleru PROMETHEUS do DESKTOPu s pozdejším dopsáním komentáru, atd. Text pak mnžete vytisknout bez potreby dalších ovládacu tiskáren, protože využijete ovládace, které jsou v DESKTOPu. Sami jiste prijdete na další aplikace.) • conversion roble (konverzní tabulka, podle které se výše zmínený prevod uskutecnuje. Mnže vám napr. prevést tabulátory na mak mezera, dialcritil.:u n:\ mal..-y bez diakritiky apod. Tabulku používá funkce disk cat:uog I Insert scquenec) • keywords on I uff (2.1pnutí I vypnutí výpisu klícových slov dle jejich kódu) • be~in spaccs :a (pocet mezer od zac:ítku r:ídku, neboli ocIs.1zení) • specd slow I rast (prepin.1c rychlosti výpisu)

Utilitv diskinstal a ta(Je;nstal mail Mo funkce: • load utility (naltraje tlskovou rutinu, malý fontcditor nebo jinou utilitu) • save instalatlon (vyhraje instalaci DESKTOPu s výše uvedenou rutinou vcetne nastavení typu pripojení tiskárny, s nastavením parametrU klávesnice - aUlorepe.1t, ceská I slovenská verze, barvami papíru, borderu, atd. Saveiostal vám tedy ·vyrobí" disketový DESKTOP dle vašich predstav, tapciost:JI zase kazetový DESKTOP.) • carolog (vypiše cat diskety)

Vážení ctenári, na str:inkách 29 a 30 mel být pnvodne 3, díl seriálu ROBOTIKA. Bohužclnám aulor do uzáverky císla nedodal podklady, takže další díl ROBOTIKY otlskneme v príšlím císle. D.!L.-ujcme7.'\ pochop.:ní. Rdaka ZXM - 30- ZXM 3/1'J'J2 R07_~(({ENf POu1rrELNOSll NfiKTIRÝCII PERIFÉRIi

ROZŠÍRENÍ POUŽITELNOSTI NEKTERÝCH TUZEMSKÝCH PERIFÉRIÍ

Již déle nc! rok vyrábí a. s. Skalka diskctovou jednotku D 40, resp. D 80 umožnující provoz s po~íla~i ZXS, Didaktik Gama a M. Tato jednotka byla po úprav~ vyzkoušena také s po~íla~i: ZXS 128K, Amslrad +2, +2A, +3, Timex 2o.t8 a Timex 2068 pri zachov:1ni všech vlaslností, jako je napr. rychlé nahráv:1ni, tlaWko SNAP (po úprav~ lze využít i pro záznam obrázldJ z her s možností pozdejšího tisk'U, pro bczprob]émové POKE do spustitelných her apod.). Poznamenejme. žc +3 již svoji disketovou jednotkou obsahuje; pripojení 0401080 má zde však vyl10du v použití standardních disket a v rychlejší komurúkaci. Po výmene EPROM a doplnení vhodným procesorem mnžeme dokonce 040J80 používat také ve spojení s ATARI 800/130 jako levnejší náhradu zahranicní disketové jednotky XF 551 nebo dnes již nevyrábO!néATAR! 1050. Pametovou kapacitu 040 lze zvýšit, bud úpravou mechanik:y na 2 x 80 stop (existuje nekolik "fint" ,jak 10 provést), nebo výmenou mechaniky za mech:ullk'U s 2 :t 80 stopami (v GM E]ectrorúc mecharúka 5 a 1/4" TEAC 2 x 80 stop za asi 800,-- Kcs), nebo ruznými jinýrr1i postupy (speciální formátování diskety, komprese dat pomocí HW nebo SW atd). Také užite~né zarízení - interface MIP lze upravit pro provoz s jinýrr1i verzemi, napr. ZXS 48 kR. Vyl1odou je, že v IF je krome obvodn VN umístena také EPROM, ve které mohou být obecne nejen ovládace periférií, ale i libovolný program - napr. TELETEXT, textový editor nebo hra, které jsou po zarnutí po~íta~e okamžite k dispozici, bez pOlreby cokoliv n:uu:\vat. :Skoda, že EPROM není v objímce, ale existují postupy jak JI preprogramovat i bez vypájení z desky plošných spojn, nehled~ na to, že z.ru~ný kutil si objímku do IF MIP dokáže pridat. Stará známá IF pro joystick z KD Náchod doznala drobných . zmen, bohužel však ne v již dríve kritizovaném zapojení, ale jen v n:1vrhu plošných jednostranných spojn (slúžil se po~et drálových propojek). Usporád:1ni desky ji umožnuje osadit i sedmip6lovýml konektory (používá však piivodní petipólové DlN). Ponech.'\me-Ii stranou zapojení této IF, které je bO!žnýuživalel casto prinucen nechat si upravit napr. na ZX Interface 2 pro 2 hr.I~e, vnucuje se otázka, kdo z nás nestandardní normu pripojování joysticku ples petip6lové konektory DlN zavedl. VýmJuva na nedostatek soucástek v dobách nllnu]ých neobstojí, neboe v té dobO!se u nás bO!žn~ vyr.lbO!lykonektory sedmipólové, které by pro daný ú~cI byly vyl1odnejšf. Z joysticku totiž nestací jen vyvést 5 vodicn (4 sm~ry, 1 palba) a I spole~ný, ale casto potrebujeme i napájecí napetí (napr. pro obvody samocinné palby (autofire), pro obvody prijímace u bezdrdtových joystick"U a pod). Zde již petip6lový DlN nestaU, proto se v zahranicí b~žne používá devítipólový Cannon stejne jako u IF pro Kempston z TESL Y Bratislova, príp. UR-4 z Kolina. Majitelé IF Dipra nebo IF z KD Náchod. kterí chtejí používat joystick s tzv. Autofire nebo bezdr:ltový joystick se bohužel Úpr:LV~nevyhnou. Rešení je nekolik: pok'Ud nechcemc signály z joysticku kódovat a plen.Uet napr. 6 sign:1lii po 2 vodicích, nezbývá než použít vCcepólové koncklory nebo pro nap:íjení obvodu joysUck'U použít bat.:rii. Existuje I zpnsob, jak obvod "autofire" napájet ze signálového vodi~e IF, ale len zde nebudeme rozebírat. Je neuverílelné, že IF , z KD Náchod, který se v nekterých prodejn:1ch doprod.ival za méne nd 100,-- Kcs, stojí nový se všemi nevyl1o

u·.....4a_ •• ::II::II-_=,.,4·.-..,,, m_I:III"" .•~ •.•••••• DROBNOSTI Didaktik 0-40

VáželÚ a milí prálel od TO do, ze ktel}'ch 100 STOP :1.50 SRVE *HObr .•:e~HCOOE 16:384,6 budeme data vytahovat zpl!t. 9:1.2 • R1dek C. 20 má 113 starosti 200 CRT práve ono ctelÚ dat ze sektoru. • Na l:Idku c. 25 pricítáme k adrese císlo + 512, ale to snad již vfte z minulých drobností. • Po nutném fádL-uc. 30 následují pomocné rádky k uloženi již vyt:\hnutých souboru dat. Zde se pak také z.adlvá délka souboru. No a váželÚ a milí, ted prove-leme zjewni vymazaného - prosím spustte program - to je vec, co? Takto si mMele nouzove obnovit již vymaz.mé soubory dat na diskclách. Ovšcm upozomuji vás. te tento program vám nemusi obnovil dala vym.,7.,n:l ji1- IItive, n~boCse klhlne mohlo stát, ž~ se soubor plchroil jiným. To O\'šcm zjistíte sn.,dno 7.:1pomoci listingo\"ého programu z minulého ~ísla. Pol"\U1se \':lm ncobjeví jeho název, ncll.e jej ji'- obnovit. Obuov:'\m zdarl -ROK- - 32- ZX NAGAZ{N

Zd:\ se v:\m. i.e pri cen~ 14,-- K~s by 1II0hl mít ZXM více str:\lIek'/ Kedakce ncní proti, ale m:\ III jednu podmínku: cím je vyšM nflklad, tím je nižší cena jednoho výtisku z tisk:\my a tím více slrflnck (pri téi.c cené) mM.e mí!. Pomozle nám proto sehnat co nejvíce ctcnMu, dejte v~d~t " l'\iskllc'j ZXM svým kamar:\dum, majildum pocítace Didaktik Ill'm, Spcctrulll!

Ve ktGl)Ích rr()(!cju;\~h mu~ete ~ehna! uaše programy'! . Klub elektroniky 602, Mar1insU 5, Praha I, -> f)idaktik MARKET, Gorkého 4, Skalica na SIIIvensku, -> PRECISOVr v. u. S" Ulrichovo u:\m. 810, Hradec KráJové, BONO s. r. u.. obchodní dum lJargov, ~turova I, Košlee, -> RAMAT elcctrunic, kulturní dóm ODRA, Ostrava • Výškovice. -> ELEKTROSERVIS Kocman. SNP 1443, Považská Bylsrica, Salón výpocetní tcdmiky C-KOMI)LEX. obchodní dum Labe, Ústí nad Labem. K - VIDEO, Opavsk:\ 54. Lhola li ( Jpavy. -> VIUEO - CLUS, Mierové nám. 4, Tren~ín, -> SC+AC Slibotcchna Blažkov, Trávník)' - SNI' IIX2, Otrokovice - Kvftkovice, -> ELEKTRO Zrncký. Kohylf 221, PS(' 691 10. (a další. kkré s n:'imi nav;'ii.f kontakt).

ZX "~a!:a7j". c...opis pro uživ alel" pOW,,('u ZX·SPECTRUM II kOl"~lItibilnJch. Vydává: PROXIMA-son"' •••.e v U,U """ I.uh •.'m. I'ovokno pod &I"m MK CR 5293. MlC: 47 845. Adresa pro veJkerou kore;\])Ondenci: I'ROXIl\1A, bOl 24, pošta 2, 400 21 ÚsU nad I.n'",m. OdpovMný redaktor. P"tr PodntI •. ROOnk('!ú radu: U:-;I\'ERSU:\'. Romu" KubHla. Martin V".wH. tlbrá7.ky kn'_,II1\1i1oš Ofll'l,- '/.». puvodno.l a o",ab pt1'phku "'H'I "UI••L :\.-\ \ ji ••I"•••.' pflsVh~ \ '" n," ran-jI. lIi_Iri""",,' PNS. "fl"pl ••llI(o: I'I{()XIMA. " ••~ l4, \Holila 2. 400 21 l:,III~ll.al){·m. \ run,' fI/4,! '-)jtl\' ""11-;" ••• ,, ,"1.""1. min. rn/a,,",uh l ,'t~lu j,' .!S ",tntu.

14,- Kcs 'tJ I\)><~ UlQ)o•••I ~ "O»(;1o3:C" :=: r+,-, Q) ~ ?o Ul~ :ti c'Q,...•.Q) ~ i i83I\) r-

-