ZX-SPECTRUM, DIDAKTIK a Kompatibilnf .-..------Informace O Rocníku "'92
Total Page:16
File Type:pdf, Size:1020Kb
I I I \ ~ \ \\ PRO MAJITELE POCfTACU: ' ZX-SPECTRUM, DIDAKTIK 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 DESKTOP 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 de,SP2Bhld,hl,SP2hl,3000a,1hl,(23613)e,a,195de(SP2+l),sp(23296)(hl)(23297)(23618)(23620)(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~~í ;byte 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 decjppopcallIdeiincId 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.<knout chybm'é hldIenf, pokud je však pnpopna stfnová ROM, dojde k prestrdnko"ánf a dam n:enf pocítace má na starosti stfno"á ROM, ta testuje chybový kM a pokud je jiný nel 155, vrátf rízenf puvodnf ROM a chybové hldlenf se vytiskne, pokUll je chybo.j kód práv; 255, pokusf se program ve stfnové ROM "dointerpretovat" basicovskj príkaz - v nošem prípad; príkazy pro Do/O). -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).