****************************************************************
* *
* ------------------ *
* T A S W O R D 5 *
* ------------------ *
* *
* *
* release I. copyright (c) by H.R SOFT Bratislava 1990 *
* *
* Henrich Raduška , Ondrejovova 28 ,821 03 Bratislava *
* *
****************************************************************
Dostáva sa vám do rúk prepracovaný návod na používanie novej
verzie populárneho (a v podstate jediného) textového editoru
Tasword. V minulosti sa už mnohí pokúšali rôznym spôsobom
vylepšovať tento program , ale väčšinou išlo len o kozmetické
úpravy. Takýmito odvodeninami sú napr. Tasword 3,4 a +. Súčasťou
úprav bolo aj pridanie komprimačnej/dekomprimačnej rutiny pre
lepšie využitie miesta na páske. Ale ani jedna z týchto úprav
neriešila zásadné chyby ktoré sa v Tasworde vyskytujú. Niektoré
z nich sa dokonca nachádzajú aj v originálnej verzii pre ZX
Spectrum.
Všetky verzie majú nasledovné chyby:
1)pri písaní je vynechané každé 32.písmeno - je to spôsobené
nesprávnou prácou s buffrom klávesnice
2)pri použití extended mode (FUNC+Key) sú po pustení tlačítka
nesprávne interpretované Func kódy už predtým uložené do
buffra a výsledkom je niekoľko nezrozumiteľných znakov-
táto závada je spôsobená tým,že sa do buffra neukladá
prídavná informácia o stlačení FUNC
3)pri pokuse o napísanie slova dlhšieho ako 256 písmen
sa program zrúti(napr. podržíme tlačítko "a" až kým sa
nezaplnia štyri riadky)-táto chyba je aj u verzie pre ZX
Spectrum-spôsobuje ju chyba v rutine pre prenos textu
4)pri pohybe kurzoru smerom k 320. riadku je možné s ním
prejsť cez tento (až do spodných dvoch riadkov a potom
znova odhora) tento postup vedie k zrúteniu programu-chyba
je spôsobená zlým ošetrením pohybov kurzoru
5)po sekvencii FUNC+B;FUNC+N;CTRL+U sa ocitneme na riadku 323
čo postupne vedie tiež k pádu programu-chyba je v rutine
ctrl U
6)orientácia na nekompatibilné druhy tlačiarní
7)u niektorých verzií je chyba v rutine pre FUNC+O - táto
vedie tiež k pádu programu
8)u niektorých verzií je chyba v rutine pre CTRL+E - táto
tiež vedie k pádu
9)koprimačná rutina je príliš dlhá a pomalá,je umiestnená v
priestore pre help text a je viditeľná-je to skôr estetická
závada
10)pri shift+reset sa program zrúti
11)v programe sú "zabudnuté" systémové premenné ZX SPECTRA, čo
má za následok prepísanie BF ak je uložený v RAM. (týka sa
to príkazu HEX$)
12)všetky verzie okrem TASWORDU 4 menia func klávesy. Všetky tieto chyby boli v programe TASWORD 5 odstránené.Miesto
funkcií "SAVE DATA ON PORT" a "LOAD DATA OF PORT" boli
implementované funkcie "kurzor na začiatok riadku"=FUNC+O a
funkcia "značka oddelenia stránky"=FUNC+U. FUNC+U vloží do textu
riadiaci riadok FORM FEED ktorý spôsobí pri tlači prechod na
ďalšiu stránku-tým je umožnené tlačiť stránky s rôznym počtom
riadkov.Tlačová rutina TASWORDU 5 je prispôsobená pre tlačiareň
kompatibilnú s IBM PROPRINTER II a tlačí aj písmená s
diakritikou.Tieto tlačí v grafickom režime - to preto aby
diakritické znamienka boli v správnej výške nad písmenom a
tiež preto,lebo nie každá tlačiareň má download.Základná verzia
má diakritiku definovanú pre tlačiareň STAR LC-10 ,pre iné druhy
(s iným rastrom znaku) sú pripravené dáta na predefinovanie.
Táto rutina má tiež možnosť tlačiť text kurzívou-nakloneným
písmom čo môžeme využiť na zvýraznenie častí textu.
Teraz podrobnejšie k príkazom TASWORDU 5:
Riadiace CTRl kódy boli zachované v nezmenenej podobe, ich
funkcia bola v prípadoch, keď to bolo nutné, len upravená. Týka
sa to napríklad CTRL+U , kde bolo potrebné odstrániť chybu. Pre
ich použitie teda netreba zvláštny popis, sú užívateľom
dostatočne známe. Pre tých, čo majú nejaké nejasnosti v ich
používaní stačí informácia na HELP stránke.(CTRL+RETURN) Pri
používaní riadiacich príkazov sú tieto automaticky opakované, ak
podržíme príslušné tlačítko (autorepeat), ale buffer má kapacitu
len na jeden kód. Je to nutné z dôvodu synchronizácie pomalších
operácií ako je napríklad DELETE s frekvenciou opakovania. V
opačnom prípade by sa mohlo stať, že zmažeme oveľa viac ako sme
chceli, po pustení CTRL+DEL by sa ešte vykonali všetky kódy
ktoré sa uložili do buffra.
Funkcie vyvolávané stlačením FUNC+písmeno boli viac
modifikované, budem sa im preto venovať dlhšie.(tzv. extended
mode) Pre všetky funkcie platí konvencia, že pri ich použití je
zablokovaný autorepeat, avšak sú ukladané do buffra klávesnice.
To znamená, že ak chceme vykonať niektorú funkciu dvakrát musíme
príslušnú klávesu stlačiť dvakrát.
FUNC+F - posun o stránku dole - je to snáď najpoužívanejšia
funkcia. K pôvodnej funkcii je doplnená ochrana proti
šifovaniu znakov po pustení tlačítka func.
FUNC+G - posun o stránku hore - analogická funkcia k
predchádzajúcej.
FUNC+A - nastaví ľavý okraj - všetky operácie s okrajmi boli
niekoľkokrát zrýchlené.
FUNC+D - nastaví pravý okraj
FUNC+S - maže nastavené okraje
FUNC+O - kurzor na ľavý okraj - na tomto mieste bola pôvodne
funkcia umožňujúca prenos textov medzi ZX SPECTRUM a
sordom. U mnohých modifikácií TASWORDU sa však vyskytla
chyba, ktorá spôsobovala padanie. Preto, že texty je
možné prenášať softwarovou cestou, bola táto funkcia
nahradená užitočnejšou. Kurzor na ľavý okraj funguje
tak, že ak je nastavený ľavý okraj umiestni kurzor do
tejto pozície, ak nieje, umiestni kurzor na začiatok
riadku.
FUNC+X - zmaže celý text - bez zmeny
FUNC+C - 64/32 znakov - táto funkcia bola zrýchlená
FUNC+I - insert mode on/off - v pôvodnom manuáli k TASWORDU
bola táto funkcia nevhodne vysvetlená. Insert mode on
znamená, že po stlačení RETURN alebo pri inom prechode
na nasledujúci riadok bude do textu vložený prázdny
riadok. Ak je insert mode off tento riadok sa nevkladá.
FUNC+E - zarovnávanie - zapínanie a vypínanie automatického
zarovnávania pravého okraja textu. Táto funkcia je úzko
zviazaná s funkciou automatického zabránenia delenia
slov.
FUNC+W - delenie slov on/off - táto funkcia by sa mala vlastne
nazývať zabránenie delenia slov na konci riadku.(na
pravom okraji)
FUNC+J - zarovnanie riadku - doplní medzery medzi slovami tak,
že riadok sa roztiahne od pravého po ľavý okraj.
FUNC+H - stlačenie riadku - zredukuje počet medzier medzi
slovami na jednu a riadok umiestni od pravého okraja.
FUNC+B - označenie začiatku bloku - vloží na začiatok bloku,
ktorý chceme prenášať značku.
FUNC+V - označenie konca bloku - vloží značku konca bloku.
FUNC+N - kopíruje blok - na pozíciu určenú kurzorom. Táto
funkcia je dosť pomalá, lebo prenos prebieha cez
vyrovnávaciu pamäť. Text na pôvodnom mieste bude
zachovaný.
FUNC+M - presunie blok - ako predchádzajúca funkcia, ale text na
pôvodnom mieste bude zmazaný
FUNC+P - vytlačí text - táto funkcia nám prepne pohľad do menu
tlačiarne. Kedykoľvek ju možno prerušiť pomocou
SHIFT+RESET. V menu tlačiarne treba udať ľavý okraj,
počiatočný riadok tlače, posledný riadok tlače a zvoliť
typ písma KURZÍVA NORMAL . Kurzíva je naklonené písmo,
normal je kolmé. Túto voľbu prenesie program do
tlačiarne. Tlačí sa typom písma pica - na toto je
tlačiareň automaticky prepnutá. Nemení sa nastavenie
draft a NLQ. Zatiaľ nieje možné používať proporcionálnu
tlač a kondenzované písmo, v dohľadnej dobe bude aj
táto úprava k dispozícii.
Dôležité upozornenie !! Tlačiť možno len na tlačiarni
kompatibilnej s IBM PROPRINTER II, je to potrebné pre
správne riadkovanie - v opačnom prípade je text
roztiahnutý .
FUNC+L - značka zvýraznenej tlače - pri tlači prepne tlačiareň
na tlač zvýrazneného typu písma. Ak chcete zmeniť
sekvenciu vysielanú pri tejto voľbe je to možné urobiť
prepísaním hodnôt na adrese &E1ED (3 byty ).
FUNC+K - značka normálnej tlače - vráti typ písma ktorý bol
použitý pred príkazom FUNC+L. Adresa inicializačných
kódov je &E1F0 (3 byty).
FUNC+U - značka oddelenia stránky - vloží do textu riadiaci
riadok ktorý spôsobí pri tlači prechod na ďalšiu
stránku. Takto si môžeme zvoliť v tom istom texte
stránky s rôznym počtom riadkov. Ak za touto značkou
napíšeme číslo stránky máme istotu, že bude naozaj na
začiatku novej stránky. Napríklad:
FORMFEEDFORMFEEDFORMFEEDFORMFEED
- 4 -
To boli teda funkcie TASWORDU 5: Po stlačení CTRL+A sa dostaneme do menu pre vstup a
výstup na záznamové zariadenie. Program sám spozná, či
máme pripojený magnetofón alebo diskovú jednotku FD-5.
Voľbu robíme stlačením klávesy podľa začiatočného
písmena názvu príkazu. A teraz už k jednotlivým
možnostiam.TEXT - touto voľbou sa vrátime na začiatok textu - späť do
editoru.SAVE - nahrávanie na implicitné systémové zariadenie (MGF
alebo FD-5). Program sa nás opýta na názov súboru, po
zadaní vypíše aktuálnu záznamovú rýchlosť a dľžku
súboru, potom spustí motor a začne zaznamenávať. Záznam
je možné prerušiť tlačítkom RESET - vypíše sa
hlásenie o chybe a po stlačení tlačítka sa vrátime späť
do editoru.Meno záznamu môže mať maximálne 9 znakov. Ak
žiadne nezadáme, alebo zadáme dlhšie vráti nás program
do editoru. V prípade, že chceme urobiť záznam na iné
zariadenie ako je implicitné, je potrebné zadať jeho
skratku pred meno. Prirodzene, meno potom musíme
skrátiť o príslušný počet znakov, aby nebol prekročený
počet 9 znakov.LOAD - nahrávanie z implicitného zariadenia do editoru. Pri
použivaní magnetofónu sa nahrá prvý súbor, ktorý bude
nájdený. Ak máme pripojenú FD-5 opýta sa program na
meno súboru. Pozor ! Pri zvolení príkazu LOAD sa zmaže
celý text čo sa nachádza v editore. Ostatné podrobnosti
ako v príkaze SAVE.COMP - komprimácia textu . Tasword 5 je vybavený veľmi účinným
komprimátorom textu - priemerné skrátenie je 60%. Pri
voľbe tohto príkazu sa nás program opýta na meno
záznamu. Po zadaní text skomprimuje a vypíše na koľko
percent sa mu podarilo text skomprimovať. Ďalej
postupuje rovnako ako v príkaze SAVE.RATE - voľba rýchlosti nahrávky na magnetofón. Vložíme
decimálne zadanú nahrávaciu rýchlosť a ukončíme
klávesou RETURN. Ak je vložené číslo v rozsahu, ktorý
je prípustný tj. <16 až 33> je zmena akceptovaná, v
opaCnom prípade sa dosadí implicitná rýchlosť.
Ten istý následok bude mať aj akákoľvek iná chyba pri
zadávaní.EXIT - tento príkaz spôsobí návrat do BASIC - F. Späť do
editoru sa vrátime pomocou RUN. Program je schopný pracovať aj s diskovou jednotkou FD-5. Pri
prenášaní na disk však musíme dať pozor na to,že program v
basicu je samomodifikujúci. Komprimačná rutina je formátom
zhodná s rutinou z TASWORDU 3 a + je preto bez problémov možné
prenášať texty. Pri prenose z TASWORDU 4 môžu vzniknúť problémy
a potom nemožno zaručiť 100% odolnosť proti spadnutiu.
Komprimovaný text nemá autoštart z dôvodu univerzálnosti pre
magnetofón aj disk. Dekomprimácia však prebieha po nahratí
automaticky a ani ju nepostrehnete.
V súčasnosti je pripravovaná verzia pre operačný systém X-DOS
ktorý pracuje niekoľko krát rýchlejšie s diskom ako FD-5 a
umožňuje aj režim kompatibilný s FD-5.
TASWORD 5 je odolný voči chybám a preklepom pri
obsluhe.Akúkoľvek chybu v menu pre tlačiareň môžeme anulovať
stlačením shift+reset táto voľba nás vráti späť do textu.V menu
pre komunikáciu so záznamovým zariadením nemá shift+reset ani
ctrl+reset žiadny účinok.
Prakticky všetky funkcie taswordu boli zrýchlené ,čo prispieva
k príjemnejšej práci s programom. Úpravy v programe dosiahli
veľkosť asi 2KB a sú pomerne zásadného charakteru - z toho
dôvodu nový copyright (to pre tých čo si o úpravách myslia ,že
niet nič jednoduchšieho-bez dokumentácie rozlúštiť 10KB kódu).
A keďže nič nieje dokonalé, tak popíšem aj to čo tento tasword
nevie, respektíve, čo robí a nemal by robiť. Pri písaní treba
pri používaní pravého shiftu stlačiť tento skôr ako príslušné
písmeno, ak ich stlačíme súčasne môže dôjsť ku skomoleniu
písmena. Výsledok je taký, že miesto písmena s diakritickým
znamienkom je napísané veľké písmeno. Ďalším nedostatkom je to,
že ak v editore stlačíme súčasne (tj. naraz v tom istom zlomku
sekundy ) SHIFT+RESET tak sa môže poškodiť zobrazenie textu.
Pomoc je jednoduchá stačí prepnúť CTRL+a a potom zvoliť t ,
alebo FUNC+C a FUNC+C. Táto chyba je v podstate len estetická.
Pri bežnom písaní sa však tieto chybičky vôbec neprejavujú -
musíme sa o to, aby sa prejavili, naozaj snažiť.
Pre tých, ktorým ani toto nedá pokoja, radím použiť nasledujúcu
úpravu: POKE &E7A5,0. Chyba bude odstránená, ale tasword bude
pri všetkých operáciách pískať.
Veľa úspechov pri práci s TASWORDOM 5 praje autor úpravy .