Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Zxm3
1. III
~
PRO MAJITELE POCfTACU: '
ZX-SPECTRUM, DIDAKTIK
A KOMPATIBILNf
2. .-..-------------------------------------------
Informace o rocníku quot;'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.5quot; 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 quot;equot; (žlutá) na naši adresu:
PROXIMA. box 24. 400 21 Ústí nad Labem 2
Na druhou stranu poukázky, do kolonky quot;zpráva pro príjemcequot; 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 quot;10. výrocí Spcctraquot;
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
quot;co delají Spcctrísttquot; - odpovedi na otázky. které jsme položili autorum w.1mýd1
programu. neho lidem. kterí se jinak l.aslo1l7.ili o rozvoj poNlacu Spectrum a kompatihiliú.
3. o MALEM
3/19n KOSMONAUTOVI + OBSAH
POHÁOKA
Z.XM
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 skokquot;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: quot;Po!íta! zapojte do síte ..;quot; 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
I
Poh:ldka o malém kosmonautovi + obsah
2
OvMdání 040 ze strojového kódu (dH druhý)
5
FIGI-rfER BOMBER - manuál ke hre
8
HISOFf BASrC - minimanuál
11rE UNfOUCHABlES - dokoncení 10
II
Animace (dJ.1lrett)
Nl!kolik informací o tiskámc NI. 2805 13
14
PC monitor a BREAK pres NMr
16
Koutek pro uživatele DESKTOPu
17
Doznání (úplné)
Zvukový intcrface ~1ELODIK - recenze 18
Šifrov:~í dat 19
21
Soutež (!ást plquot;Vnt) .
23
Pocíta!ové pirátství
25
Strojový kód Z-80 (.111.lruhý)
LEMMINGS - hor!;'i novinka' 27
29
lQ-lOO: novin.ka s 24 jehlickami
30
KUD I, poslední inform.1ce
31
ROZšírení poulUeInostl néklcl'ých tuzcmsL:ých periférií
32
Drobnosti DIDAKTIK D-40 (díl tleli)
- 1-
•.
4. oVLÁDÁNI D40 ZE STROJOVÉHO KÓDU - DÍL DRUHÝ
ZXM 3/1992
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
d, ,d ,hl
hl (hl) ,a
de,SP2B
hl,SP2
hl,3000
a,1 ,e
e,
hl,(23613)
(23297)
(23618)
(23620)
(hl)
a,195
(23296)
(SP2+l),sp ;na adrese 23296 vytvor
dec hl
Id
inc Id
Id
push ;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-
5. ZXM 3/1992 oVLÁDÁNI D40 ZE STROJOVÉHO KÓDU - DIL DRUHY
Id
pop
Id
jp
inc
dec
call
ei
Id
ret 1
SP2 im :nastav v§e potrebné a vrat
SP2B sp,hl se do BASICU k proveden!
urceného príkazu
iy,236l0
nastav chybové hláiien! na 255
(iy+O) ,255
7030
:c!slo chyby zmen§ené o 1,
a, (iy+O)
a ;po úpravquot; znamená O stav OK
ERROR ;a jiné císlo znamená chybu
;obnov hodnotu registru SP
sp,O
hl do HL ukazatel na chybový
de návrat a do DE jeho p~vodn!
(hl) ,d hodnotu, vrat vile zpátky
hl
,e
(hl)
;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 quot;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
prestrdnkoquot;ánf a dam n:enf pocítace má na starosti stfnoquot;á 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
quot;dointerpretovatquot; basicovskj príkaz - v nošem prípad; príkazy pro Do/O).
-3-
6. 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
RANDOquot;,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 .,zadrcquot;).
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 - 9 File is not ~xecutable
47
28 - T File exi$ts 48 - h File is delete protected
49 - i Bad record number
29 - U Di.k full
j
30 - V Directory full 50 - Impo••ible to REN~~
31 - W Advanced feature Sl - k Impo.sible to COPY
32 - X Bad device type 52 - 1 Corrupteu FAT structure
53 - m Stream already open
33 - Y Device ident missing
54 - n Drive
34 - Z Device unavailable is not ready
o
55 - Seek error
41 - ~ Device I/O error
42 - b Bad volume name 56 - P Sector not found
43 - c Bad file type 57 - q CRC error
r
44 - d Volume not found 58 - Disk i9 write protected
45 - e File is read protected - 9 Internal
59 error
46 - f Pile is write 60 - t File too long
protected
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-
7. ZXM 3/1992 FlGlfI1!R BOMDER - MANUÁL KE HÍl.1!
FIGHTER BOMBER
všech typu a druhu. Najdeme tam
Pocítacové nebe se jen hemží stlhackanuty
stroje bh10rické, soucasné,
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: quot;11m 5MB VlGGEN AJ 37quot;, quot;~UG-27 FLOGGERquot;, quot;TORNADOquot;, quot;F-4
PHANTOMquot;. 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í quot;povíd.1nfquot; 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 quot;MA WERlCKquot;, 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-
8. ZXM 3/1992 FlGlITER BOMDER - MANUÁL KE Hfffi
Ovládání hry:
SS.•.l PaJubní desb
Nohoquot;,
Q
SS+4
A Dolu Pohled oa leloun z letUIof vHe
S5 .•.
5
O Vlevo (s oillonem) Výhled vzad
P 5S+ó
Vpr:>vo(. oillooem) výhled vpravo
Z SS .••
7
Vlevo (ponze smtrovb) Výhled vlevo
X SS .•.
8
Vpr:>vo(pouze smtrovb) Pohled oa leloun .hor:> (ze satelilu)
S5 .•.
9
ENTER P~pÍDsc zbr:uú Pohled oa .troj zezadu
5lrtlba S5...o
5PACE Pohled na stroj zep~du
R Približovánl a vzdalováni lebdla
K,J
P~pÍDsc roquot;quot;sbu radaro
W U,I
Brzda podvozku Pri použ;ú pohledu SS...o, posun kolem letouno
B G Podvozek
Brzdícl ~tfly (klapky)
N S
PrcpÍDsc cDu Vyhledáváni a nav:i&ní cDu
es .•. až O T sb motoru C
l
Klamný cO pro ncpfftelské slrtly (radarový)
Forsáž F
es...o (dvakrál) 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 quot;jít na vecquot;'
Ú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í quot;TARGEr DESTROYEDquot;. V prípade znicení všech cíll1 v tomto
míste se objeví nápis ·~USS T ARGEr DESTROYEDquot;. 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-
9. FlGHfER BOl-mER - MANUÁL KE Hfill
ZXM 311992
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 quot;AIR TARGER NONEquot;. 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 quot;neobtežuje Vásquot;, 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
ipalivo.
polovinu vyšší rychlost a ušetríte ~as 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 -
10. HlSOFT HAStC - MlNIIvIA.NUAL
7.XM 3/1992
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 opakquot;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 akthquot;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 -
11. HlSOFf HAStC - MlNIMANUÁL
ZXM 3119')2
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 quot;císloquot;) nemuže-být v príkaze OATA nebo OIM.
2) Jestliže výraz (krome VAL quot;císloquot;) 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 quot;výrazquot; 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..quot;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-
12. 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:
~~.
.. scr
blokquot;
blokZ Idscr(4787S).~••
~.t(46a4Z).~
blok3
~~~
~
~~
blokS r~~~.z47
rotrot(Z88B8).~
scr(45773).~
JrIdncZ4
ln Id~.ZBI
Jr ••(4787U.~
~<t (454Z4).~
(4S187).~
(45183)
(4787B)
blokl
•....• ••• jr (43BIZ).~
,jr (43B05).I>1
scrnc.blokZ
xor. B ~.(ZS4)
nc,blok3
ne.blok!
Id (rir
Id hl.O
xorbc.B Z).I>1 nc.blokS
..blok4
d••
)Cot' .a
01
jr nz.First
rot
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
je vše hotovo. Hry spustíme príkazem TO? (55+t) od adresy 32768.
Id hl.3B7ZB
POKE zfsk:lme tak, že koncem nahr:lnf urcitého bloku budeme
Id ok ••-_
Id bc•._
držet klávesu s císlicí bloku a pock:lme až se blok nahraje (po celou
Idi,.
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 Lquot;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..quot;Ud obrazovce svítí nejaký nápis, opal..quot;Ujte
na postup od bodu 2.
Tím budete mít pocítac toL'iJnc Z/Ucený a bude to programem.
S
-10 -
13. ZX'M311992 13. DIL)
ANIMACI!
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 PYJAMARAMA, 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-
14. 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 quot;na sebequot; musí dohromady vypadat pr~.ve takto). V praxi se využije
jednotlivých ctverec1cu ~sledovne: maska se priloží na pozadí a to, co quot;leží
pod nfquot; zOslane zachováno. Vznikne quot;díraquot;, 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 quot;bíloquot;, neuvidíte skrz lupu nic,
když prostor slda vyplníte, zóslane quot;pruhlednéquot;. 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 quot;nadhledu
z bokuquot; (RENEGADE 1, ci2,quot;shoraquot;(STAR DRAGON, LlGHT nebo jen quot;pohledu plati, že
jízda mestem v BAT MAN 3) FORCE); obecne z bokuquot;
(RoboCop, Green Berd)
sprajty s nejnižším poradovým císlem jsou quot;nejdálquot;)
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ý quot;snímekquot;, 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 -
15. (3. DI!.)
Z.XM311992 ANLIACE!
.nt ~TART ; pseudoinstrukce, udávaiieí kde m.!. proEram.
IUe!l.k
Id h quot; • le~e •.
~TRRT bitov4 mapa videoram je zapln4na vzorkem
t
Id I kV1!li demoslroci ~eink4 masky
de,le.:3eS
Id bc,&14:J
.~ss
Id ; clslo vzorku (255) i. možno menil podle libosli_
Ch l)
ld i r
Id ; HL uk •• uje na zaeU.k dal sprajlu
hl,DATR
; DE HU, kam do videoram s. bude kreslil
Id d •• =4.quot;~~
Id I výjka :prailu je osm bod4
b,e
Id.) i vezmi
Id
L.OOP A. bait z videor::J.m
i a ponech
(hU
.nd pouze t.o. co je v masce
hl
Inc ; posun se boji groliky
ia pridej
IhU
or ho k muce
hl ; posun se na da1!í masku
Inc
i bajt. paloi do videoram
Id (de:) ,.I:
i posun se ve videoram
d na daltí tádek
in~
i opakuj 8x
L.OOP
dJnz
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
pak nech(I radeji nejdríve není uživatel jist plsemný koniakt. zdrojového programu pro svojI tiskárnu,
zámenné Pokud si tudíš se mnou naváže správným typem
•
bohužel lcvého ramene kazety sc ale jen vyuhuje rozebrat a proll príUaquot;nénepríjemnézasunout vhodné
Z nekdv I tiskárny. Stací casto kazetu páska, což zpnsobuic desticce :závady 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.
• V prípade z.1vady si castokrát musí vypomoci uživatel ~m. Je ale rébusem se do tisk.1my
dostat. Takže zdc je postup:
• Odšroubule se sejmc se kryt, z ktcrého vych.1zí plochý kabel k tiskové hlave. Objeví se
• Odšroubují a a sejmou se ob.:!poloviny plastikového l:Iv1U.
• Odšroubují ase dva rozpojí.
konektor FRh ten se š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 sloupkquot;U.
• Rozpojcním n.1suvnych konektoru se odpojí všcch osm vod.icn krokových motorkquot;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 dHum si opatrné oddelit plošný prfstup. všemi souc:sLkami od mechanické cásti a k
• Nyní ii1. lze tak zajistíme pcrfektlÚ s['?j se
, (napsal Pt!lr H/1rka)
Pozn:mb redakce: a co takhle ježek v kleci, ten by nt!b)'l?
-13 -
16. PC MONITOR A DREAK P/'ES NMI
ZXM 3/1992
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í etail], muie si
d
prostudovat v tomto smeru odbornou
lileraturu. Zatlm stalf videt, fe pomoci
Schém~ 9~n~rá~oru NM!.
nemiJSkovatelnihoprerušeni (dálejen NMI)je
moiné kdJkoliv skolit na nejaký náš vlastní
program, pokud dodrome nekolik zásad.
+SV
,. Adresu programu, na který chceme skákat,
'quot;
vzdáme do SJstémovi promenné urlené pro
n
I ] ••
j SIl •••• NMI (23728), potom vyroblme krátký impuls
na systémové sbernici na špilu 14 ze strany
I. ••••
r:J
nU.:O ..•••... , soulástek generátorem impulsu pro NMI.
r~~
NHl,': : Generátor impulsu pro N!ln jsem vyrobil z
~~quot;'~~ 'i
,: quot;,,1. ••
jediné/w integrm'aného obvodu MlI 7400,
_. 1 • jednoho kondenzátoru a trech odporu.
strana souc.asteE. - S1.rana SPOjU
DomnÚ'ám se, ie ZIIpojenl je skutecne
jednoducllé a sclléma je vylerpdvajfci.
PLO~)I'~ 5?OJ GEXEill1TORU II/IIquot;
&hé1TUl priklá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
sb<!rnici kdykoliv je to potreba. Signá1/r.~D najdeme. jak už bylo receno. n:, kontaktu 14 ze strany
sou~tek prímého konektoru.
+5V najdeme na kontaktu 3 ze
I RDI 11111 HHI PC I'jJHITOR 1111
strany spoju a zem GND je na
2 RESTonE : IHfJT quot;1/11adresu: quot;1adr: LET k=odr+59: LET SUI=.
kontaktu 6 a 7 ze strany spoju.
3 fOR >r-«dr TO k: Ii:EAD POlCEx,n: LET SUI=soa+n: HEXT x
n:
Obvod nedoporucuji pripojovat
4 If sua06Ue TIlH GC TO 6
a odpojovat. pokud je ~ftac
nJI([ 04r+2,IHT
S LET p=adr+7: POO: Qdr+t.p-2561tlllT (pI2S6/1:
pod napetím. Pripojujte a
IpnS6/: RAHDOItIZEUSI adr: STCf'
6 PRIHT quot;CHYBAV D.ItOI!quot;: STO? odpojujte, když je ~ftac
vypnut. Pomocí tohoto
9 SAVE 'nli,pcl cdCOCE ~dr,6Q
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
dostal z quot;kousnutéhoquot;
21 RDI Pro zko~u .nete z~do nosleduJici ?OI<E o odstorlavat
Rr..'«OO1IZEusa 3'~H, aciln~~ St Uk Y oekonecne squot;JCce, z njz
programu tzv. nekonecné
!us dostane pcuze slisk NJ:I tlocitk.
smycky. je možné zastavovat
21 roo: 3•• 31.24: PCIíE:WUl,2S4
rychlé hry. abychom si
vydechli apod. Dnes jsem pro
-14 -
17. PC MONITOR A BREAK PRES NMI
ZXM 3/1992
quot;'
;-----NJH
derhl 73 el
hllpcl eS PCI inQ CQII zQcQlekkonal preruseniscrhodnotu
Id odr. 115.3
PC
di dochobraz rozdi!
sp obS3 cm ZQY aextcolliobnQYobSQh PCprona pSQni pri
0049 2Qb8Sc iulozsyo;t.proa. do zQsobnikulexlu
iYljleniskok DE losk.prerusenirutin~
;s pop do hl PC.MOHITOR------
idelka iotevri ••• rogistr~. PC textu
pepizobraz obsah HMI
~2e3c nQ k
hl QbS2 33 16 ido Id iZQkQZdo dekQdicky ROMH1. nQ ser
de.tx-pcI jb
22,21,. 3b II
Q,2 OSe 3e82
iy,236U cd2b2d
2SS
bc.6
(23729) 22b8Sc
'PC:'
O
QbSa eb
0054 fI
obSe al
QbS7 fd213aSc ;nQJdi;snizeni IQsk. povodniQZ
QbSS ci
obS6 cf
QbS9 13
QbSQ 81e6ee
QbSc cd3c2i
Qb64 112f08
OO7e cde32d
QbSI c9
ob4r 21SiQb
ob77 19
OOi8 161mtx
Qbi6 fr
ob
ab68 fb
Qb4c Sm3a
Qb79 ,hl
Qb49
Qb7d
abM
Qb69
Qb7e
Qb7f
0085
Qb.7
Qb6c
ooSb
Qb.l
db
Qba2
,(23729) ;Qdr.podprO'jrQlu ch!Jboye do kalkulQtoru
iYTol iYljt.azeni nozPQtok ulozene
ipolohQinic.hodnolupro PC
db ;poYOI
priznak11747 zosobniku
Qdd textu
incMoz;691 ,OK lY
rsl iskoku
rat;nQYTot
ei iebnoy
dec hlrde
end sp ~ea
zobrazeniHlt! Y
iyroceni
;zQsobnik obs.PC
push rogistry pocatek
;YIJ?ocli
Qf
bc podprO<]rQI'J vás pripravil
jcdnu z
2
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. quot;masiž klávesnicequot;, 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 -
18. ZXM ~1I9')2 KOUTEK PRO UŽIVATELE DESKTOPU
uživatele DESKTOPu
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). Pokquot;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ímlquot; 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 ninf...
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 -
19. ,--- ---------- ----
-- .--- - -
Inzerce ZXM
l'[JiJmlrlquot;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 quot;,-quot;, ua koulo ~islo 2XX-1(),-111/0 IIX), !;ol1ler~ní banka v (;Slí nad Labem.
I
Spolu s kxtem inzerátu z:J~lete také ustrii.ek této slolenky jako ,lokJad o plafb~.
Ubchodní inzerce, pla.:ené in/.eráty poduibtelÚ a !Irem mohou být bu,f plo~ué ..
ud.,,, sloup.:ové I (kto'·J).K~s. Ke plo~ného iUlerátu je zaslatK~s/.:m'. Celá slr:'wb Slojí 2jejími.
K~s, poloviua 350.- ('ena lvdeju~ní je trclquot;l 12., písemnou objedn:ívku. na 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!
quot;Aquot; ua ua~e kouta, jak je uvedeno výše.
Vdkeré .Iopisy ur~ené do inler1ní ruhriky prosíme výrazn~ oZlla~it quot;INZERCEquot;.
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.1 prvllÍ plošný inzer:ít
J
, slevu 20 %.
KouPe
Prode' . Sháníte el. soucástky, výpoce.tní:
kancelárskou, mericí, vYSllací a telev17;w
J
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!-<!ínzert.
Ještc VIC nez pO':ltad PodJe ~ byly pošlovni schrdquot;kn 20. 730/ 01 KaTYlfIllo/.
vytvoreny hry Hero Quest I a 2. N~vod JC ,
naps:ín v Desktopu - asi 60 stran, šlre -1~O,I
I Ruzné
600,27324 rá,lkíi. MlIrtill
vvška 55 Veí.-ary.• Ch.:etc proniknout .do taju po':ila':fI a
RzJžek. Nabdr;r.skd
I zvládnout
Prod:un sv~tdné pero pro.ZX Spe.:trum a jejkh programov:iní? Nabízím~
roK Didaktiky za 60 •... -; ~olt~are n~ ~azc[~ I
,-V'.IO za 150,-- Zasl~ I dO.~lrkou - pro za~:1te~Ol1:y v jazyclch programovám a
B~S[C:
oba V:ím korespondcncní kursy.znalosti neJsou
uve,fte typ pO~lta':e. [lId,s/m' jalll.', U PASCAL. Ia predb~i.né
I
sladio,,1/ mim /70/0. 39003 '/;i!quot;,r. kladeny požadavky. Vyulijte možnosti
• 100inb! Tisk:írna VT 21550 + Didaktik I do svéta po'::íta~u - s mími To
VSIUPU
I STARSOn: PS 8S.
Gama: /liabízím pam~~ EPROM s '::es.~(~u ~vládnct~: [nfommce:
znakovou sa,Jou za KeS -160.-- Vzor tIsku I _quot;)00/1 abor.
i.Sinsol'r), radi~ X272 (dlc ZX ['l_OPPY 666,i
pÍ'Cdem.. D,íl~ nah!/~m _ ~'~borny: gr:~:kk~; Mám BOnO 256k (Spc~t~ITTÍdle Lama'::
edilDr SI IJ'l:R Se. RH:1: kopml.!quot; a S
pÍ'Clahuje obr:ílky zlna ,1i~kef,lÚp:ísek.! prípadn~ ho upravím) a 13TI()( [ kdy;. mi
dokreslov:íní quot;snapovan:'.:hquot; obr:lI.ku: r~loquot;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: .... Iquot; I{Iquot;,/quot; phl'quot;d,1 se jt'dlla o I Fv. DATAPIJIl,R prodává systemove
quot;br Iquot;,.!quot; , iTl:adl, IlIk;:quot; :djr:/Ii'quot; I dlskclY jen s r:uli'::em a je takJ dost drah:í.
k/mírk.,'
I KOTlII'/I.,krlquot;,pomozte. 32 l~l~osltl'
mdkl/ ml/.quot;· {ml/krb/I /0.-- Kó Prosím . :!? 54:!
':':'quot; ;;lI k(/~d(}:, Kas{}{/r,
- pO;:J/tIllIkll red.1 Up'f·e.
L .__ ._
_____________ u
20. 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
,,
..,
. I- .:,. .. II n ,. KI.JD 1/23
sadách a jedná se o znakové sady, které k sobe quot;~~ I o
. iD Z
, .;• .~quot; I
~ n li.,f-~ H
=quot;<
f ':. E
D ;r
I _I!- Lt1', ~I! z
) ,. C
,. ~.• A ::t.t .,
r 1.. 0' 1
' .. J
.., ? 1 Ó
=•
r; ;'I
ln•••quot;'quot;- t
., quot; o
., quot; :JII II ji
) l' ~
'1 H rr
=T
13 ,~
tématicky patrí: sada pro psaní mat. výrazu a sada ]Z
I' ~ I~ tquot;
I. Iquot;
I.,
vhodná pro tisk knihy ciId i:< 't
í<casopisu (obsahuje i speciální
znaky používané ve slovnících).
Nad utilitami (neboli rutinami • podprogramy,
které sa nahrávají do Desktopu) zajás:i každý majitel
·bété~ka·, kterému tiskárna tiskne více než 480 bodu na
rádek a s využitím utility BTlOO·552 vytiskne rnax.
552 bodu na rádek. Bude tak moci tisknout mj. i dva
obrázky vedle sebe, které si predtím spojil ve
Screentopu.
Utilita Archiycs slouží k udržení porádku ve vašich fontech, neboi si budcte moci vytisknout
prehledné tabulky znakových sad (viz obrázek vpravo) a založit si tak archív znak-u.
Utilita Fonteditor • KC)'board je malý fonteditor (ten, který lze instalovat prímo do
Desktopu) s navoleným ovládáním Q, A, O, 1', M.
Fontcdilor • Kcmpston spolupracuje s kempslon
joystickem.
Utilita Keyboard Vicw slouží k orientaci na
klávesnici: je vhodná, pokud máte predefinovány
klávesy (nebo používáte nhné ráme~ky a symboly
mfsto pismen) a ukáže vám rozložení znaku na
I'quot;'on t 1
vaší klávesnici. Obrázek této klávesnice je také
mo'-no si vylisknolll (viz ohrázek vlevo).
21. 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 CA T
diskety a z výpisu adresáre
text jdi ni
1iIR!J'j;;.;i'nn1i1blokoué ikce in/aut obrázek
vytvorí textový soubor pro
Desktop. Ten si pak mnžete
vytisknout na libovolné
tiskárne, která vám s
~iiCtt.~~mmt1:tf(11I1iII
Desktopem tiskne. Umožní
ext y - prehození quot;yquot; i quot;zquot; On
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
použití nových znakových
ext ss+b - délka kláuesouého kliku 12
sad. Velké znakové sady jsou
titulkové fonty ur~ené pro
Fonteditor (tzv. quot;velký
Fonteditorquot;, 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 mn0quot;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 b)3,5quot; disketa) verzi
(5,25quot; nebo disketovou
Podpis:
Datum: Objednací list
Poí~1duji a) kazetovou verzi
Adresa uživatele: 40021 Ús!f nad Labem
IMA, bux 24, a mesto:
Registracní císlo:
PSC
22. 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 s jiný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)
idiskete
komplet 5 her, na k<3zete 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.
iz;ív~ru
• PERESTROJK. - akcni hra zn:ím:í z pc, byrnkral versus d~mokral. V livodu
!Ira
v:ís pOI~,i ohr:í/ky pana GO!haquot;ova a v pnH~hu hry vesd~ melodie z I1Iskýdl Sl~pí.
j~ ho,ln:í pro hdl',' s d()h~'1I1poslkhem.
I quot; EXPI ,())Iquot;'(; XI'U:>'IS - logkk:', hra ~;isl~quot;u~ poclobu:í l'išhork:ílH, 1Ir:í1mohou bLld'
!Ira
I clva hr:il'i. ndquot;, hdc proti rol'íta~i. IH:;quot;128 kquot; huclbu. taki,~ ,k pii .kjilH hralli
pr(jelHu~ (nikoli 1I11111~) iukrra~~ ;<'(I·J.()()[K,
Ulit
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)().quot; S ua !Oo,non.-- $.
I • TEI.EF< J'iY I - Ived:'lI1iIddoull. hra m;; 'J ohraill a j~ vhodll:í i pro lHal~quot;quot;Ii.
I
PR0X!iMA· slluž1ba
zásiiJlkOquot;1fá
l'C~ 243, 400 ~1. Ús1tx i1lad 1Labe1Jri
bon:
na kompldu k 20.-- K~s a mÚquot;'I~ .kj li,kalna dohquot;ku n.' ,dr,·,,':
____________ n on . -_. • _
23. DOZNÁNI
ZXM 311992
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 quot;chybuquot;, 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 Je na této adreso)
caR 17314 ;nactl do OE hodnotu z adresy v Hl
;tato cjst nesouvls! s testov:1n!m(pro zmaten~
Id (201S4),1x
xor a ;vynulujflagy a akumui:1tor
;odec1l24299, nastav! se llagy
sbc hl,do
add hl,do ;plicll zp:1lky
jr z,JPHl ;skoc na ó1drosu24299, kler:1Je v Hl
ret ;n:1vratz podprogramu
Tento quot;Trojsl..-ý kMquot; 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 quot;chybuquot; zpusobuje, mnžeme ji o<lstranit - pohJd se v:lm nevyskytla
(a me se zatím nevyskytla pri pró.ci s jinými nd vlastnfnu programy, ve kterých byla zmíncn.1
ochran.'I insta!ovó.na), tale ji s.'Imozrejme odstranovat ncmusfte. Jednak si mOžete nahr:it DEV AST
ACE do pam~1i a tuto posloupnost phquot;kazu najft a upravit - tfe'ba tak, že Instrukci xor a nahradíte
instrukcí RET. Pohld se v:im nechce Oste poho<lIn! anebo to ješti:! neumíte) hlcdat posloupnost
u'edcných phquot;kazu, pak o poloze instrukce jr z,JPHL (jp z~JPIlL v pamc(ové verzi) plat! toto:
• 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 -
24. DOZNÁN I ZVUKOVÝ INTERFACE MELODlK
ZXM 311992
• 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 quot;chybuquot; 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 quot;DEV AST ACEquot; CODE 40000,5700 (SA VE
quot;DEVASTACE+quot; 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 •.•quot; 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 joystick.
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ý A Y-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 A Y-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
ipredcí
MELODlK plne srovnatelný s obdobnými z.1padufml výrobky a v mnohém je (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 A Y-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 -