KASWORD

Z PMD 85 Infoserver


Obsah

K A S W O R D

Autorem programu KASWORD je Karel Šuhajda, 4004/482 ZO Svazarmu.

Úvod

Program KASWORD3 je určen k výrobě, opravám a výpisu textových souborů na počítačích PMD-85 1, 2, 3 a CONSUL 2717. Obsahuje celostránkový editor s kompletním znakovým souborem s diakritickými znaménky, shodným se znakovým souborem SAPI 1 Z.

Program lze nahrát do počítače z OSu příkazem "MGLD 00", spustit jej lze příkazem "JUMP 0000" nebo stiskem ^'DEL'.

Popis ovládání

Po spuštění vypíše program úvodní hlavičku a zeptá se, zda má smazat obsah paměti. Pokud jste před spuštěním KASWORDu měli v paměti počítače nějaký text, který chcete dále zpracovávat, stisknete klávesu 'N', v opačném případě stisknete klávesu 'A'. Po spuštění se nachází kurzor (bílý blikající obdélníček) v levém horním rohu obrazovky. Ve spodní části obrazovky se vypisuje číslo řádky, na které je kurzor a jeho poloha na řádce. Dále se zde vypisují informace o způsobu zadávání textu. Jednotlivé možnosti zde mohou být zapnuty či vypnuty.

Běžné texty lze psát jednoduše z klávesnice jako na psacím stroji. Na jednu řádku textu se vejde maximálně 64 znaků. Stiskem klávesy se napíše malé písmeno, stiskem klávesy se shiftem lze napsat velké písmeno. U kláves s ostatními znaky se stiskem shiftu vypisuje jejich druhý význam, který je uveden na klávesnici. KASWORD3 umožňuje navíc pracovat s řídícími znaky tiskárny. Těch lze dosáhnout stiskem klávesy 'STOP' s některou z kláves '@', 'A' - 'Z', '[', '\', '[', '_'. Řídící znaky se vypisují invertovaně (černé na bílém pozadí).

Po vypsání každého znaku se kurzor posune na následující pozici, z posledního znaku na řádce se posune na první znak následující řádky, na konci textu se posune na první znak téže řádky.

Všechny klávesy mají autorepeat, tj. držíte-li klávesu stisknutou delší dobu, začne se její provádění cyklicky opakovat, jako kdybyste ji rychle pouštěli a opět mačkali. Pokud není KASWORD3 schopen průběžně plnit požadavky, které na něj kladete, ukládá si dosud nezpracované klávesy do fronty. Tyto poté zpracovává se zpožděním.

Popis funkce ostatních kláves

'EOL' 
Posune kurzor na začátek následující řádky. Pokud jste na konci souboru, posune se pouze na začátek řádky. Je-li zapnuta funkce VKLADANI, posune další text o řádku dolů, aby bylo možno psát na volné místo.
'<-', '->', ^'<-', ^'->' 
Tyto klávesy pohybují kurzorem v textu - bez shiftu se provádí posun doleva a doprava, se shiftem nahoru a dolů.
'HOME' 
Nastavuje kurzor na začátek řádky.
^'HOME' 
Nastaví kurzor na začátek textu.
'END' 
Nastavuje kurzor dva znaky za poslední napsané slovo na řádce. Pokud se za posledním napsaným slovem již tyto dva znaky nevyskytují, nastaví kurzor na konec řádky. Je-li řádka prázdná, nastaví kurzor na její začátek.
^'END' 
Vypíše ve spodní části obrazovky "NASTAVIT NA" a očekává zadání maximálně třímístného čísla řádku, na který má nastavit kurzor. Pokud zadáte číslo větší než 352, neprovede se nic. Pokud nezadáte žádné číslo, nastaví se kurzor na poslední popsanou řádku textu, jinak se nastaví na řádku s číslem, které zadáte.
'|<-', '->|' 
Posune kurzor na začátek předcházejícího, resp. následujícího slova.
^'|<-', ^'->|' 
Posune kurzor o stránku (28 řádek) nahoru resp. dolů a nastaví jej na začátek řádky.
'CLR' 
Smaže obsah řádky, na které je kurzor a nastaví kurzor na její začátek.
^'CLR' 
Smaže obsah řádky od kurzoru doprava.
'DEL' 
Smaže znak na pozici kurzoru, zbytek řádky posune o jeden znak doleva.
^'DEL' 
Smaže řádku, na které se nachází kurzor, zbytek textu posune o jednu řádku nahoru.
'INS' 
Přidá jednu mezeru na místě kurzoru, zbytek řádky posune o jeden znak doprava. Pokud se na konci řádky nachází znak jiný než mezera, pak se do souboru přidá jedna řádka a zbytek řádky od kurzoru doprava se přenese na její začátek.
^'INS' 
Přidá do souboru jednu řádku, zbytek textu se posune o jednu řádku dolů. Pokud je ale poslední řádka souboru popsána, přidání se neprovede a vypíše se hlášení "Paměť přeplněna!".
^'C-D' 
Vypíše "Konverze A/N ?". Po stisku 'A' provede na celý soubor konverzi - odstraní diakritická znaménka.
^'WRK' 
Kopíruje zadaný blok na pozici kurzoru. Vypíše "KOPIE OD" a čeká na zadání čísla prvního řádku z bloku, který se má kopírovat, pokud je nezadáte, vezme se řádek číslo 1. Pak vypíše "DO" a čeká na zadání čísla posledního řádku z tohoto bloku. Pokud toto nezadáte, vezme se poslední popsaný řádek v textu.
'C-D' 
Po stisku této klávesy se rozsvítí žlutá LED-dioda na klávesnici počítače a malá a velká písmena si na klávesnici vymění místo - tj. malá písmena se píší se shiftem a velká bez něj.
'RCL' 
Slouží k vytištění části zapsaného textu na tiskárně. Vyžaduje zadání bloku, jež se má tisknout, stejně jako kopie (^'WRK').
^'RCL' 
Maže frontu vložených kláves.
'K10' 
Nastavuje tabulační pozici na místě kurzoru. Polohy tabulátoru se zobrazují v bílé řádce na spodním okraji obrazovky znaky '^'.
'K9' 
Ruší nastavení tabulátoru na místě kurzoru.
'K8' 
Ruší nastavení všech tabulátorů.
'K0' 
Nastavují kurzor na nejbližší následující tabulační pozici za kurzorem.
'K3' 
Nastavuje levý doraz na pozici kurzoru.
'K4' 
Nastavuje pravý doraz na pozici kurzoru. Pokud jsou dorazy nastaveny, nelze žádným způsobem pracovat s textem, který je mimo ně. Pouze operace přidání či vymazání řádky pracují s celou šířkou stránky.
'K2' 
Ruší nastavení obou dorazů.
'K5' 
Umožňuje vyhledání zadaného slova. Nejprve nabídne k vyhledání slovo zadané minule, potom umožní zadání nového slova k vyhledání. Vyhledávání se provádí bez ohledu na háčky a čárky, ale je brán zřetel na velká a malá písmena. Pokud zadáte znak '?', může být na tomto místě v hledaném slově libovolný znak. Vyhledávání se provádí od pozice kurzoru do konce textu. Pokud je slovo nalezeno, nastaví se kurzor na jeho začátek. Pokud slovo není nalezeno, zůstává kurzor na místě a vypíše se hláška "Slovo nebylo nalezeno!"
'K6' 
Rozdělí řádku v místě kurzoru na dvě a zbytek řádky od kurzoru doprava posune na následující řádku.
'K7' 
Umožňuje odstranit z textu řídící znaky tiskárny.
'K1' 
Nastavuje a ruší funkci ROVNÁNÍ, která způsobuje zarovnávání textu na řádce k pravému okraji, pokud kurzor při psaní textu opustí řádku.
^'K0' 
Nastavuje a ruší funkci CELISTVOST, která způsobí, že nevejde-li se poslední slovo na konec řádky celé, pak se přenese na novou řádku.
^'K1' 
Nastavuje a ruší funkci VKLÁDÁNÍ, která způsobí, že se při přechodu na novou řádku pomocí 'EOL' nebo při běžném psaní textu vloží za právě napsanou řádku jedna prázdná řádka.
^'K2' 
Umožňuje uložit text z paměti počítače na magnetofonovou pásku. Text lze uložit dvěma způsoby - komprimovaně (záznam je podstatně zkrácen, ale nelze jej používat na předchozích verzích programu KASWORD) a nekomprimovaně (slučitelný s předchozími verzemi). Nejprve je tedy třeba rozhodnout, jakým způsobem bude text uložen. Pak si program vyžádá zadání rozsahu bloku a název, pod kterým jej má uložit. Po zadání jména okamžitě ukládá. Komprimované texty mají na magnetofonu prefix 'X', nekomprimované 'T'. Číslo záznamu je vždy 00. Ukládání lze kdykoli přerušit stiskem klávesy 'STOP'. Mnemonika: tato funkce ("Save") je nad klávesou 'S' (u počítačů PMD 85).
^'K3' 
Vypíše se "Smazat text A/N ?". Po stisku 'A' smaže textový soubor.
^'K4' 
Srazí text na řádce k jejímu levému okraji, mezery mezi slovy zůstanou zachovány.
^'K5' 
Vystředí text na řádce, tj. počet mezer vpravo a vlevo od textu ke kraji se liší maximálně o jednu.
^'K6' 
Zformátuje řádku, tj. vkládá mezery mezi slova tak dlouho, až se konec textu dotkne pravého okraje. Levý okraj textu zůstává na místě.
^'K7' 
Zformátuje celý odstavec.
^'K8' 
Srazí řádku tak, že mezi slovy je vždy právě jedna mezera.
^'K9' 
Slouží k nahrání nebo připojení textu z magnetofonu. Vyžaduje zadání čísla řádky, od které se má nahrávat. Není-li zadáno, nahrává za poslední popsaný řádek textu. Pak program očekává zadání jména souboru, který se má nahrávat. Zadávat lze libovolné znaky, znak '?' nahrazuje kterýkoli znak, znak '*' znamená, že následující znaky se nebudou porovnávat. Pokud není jméno zadáno, dosazuje jméno "*", což znamená, že nahraje soubor s jakýmkoli jménem. Pokud soubor přesahuje délku paměti pro text, dále se nenahrává, ale kontroluje se správnost záznamu. Dojde-li k tomuto stavu, rozsvítí se jako signalizace červená LED-dioda na klávesnici. U PMD-85 2, 3 není k indikaci nalezení pilotního kmitočtu využito zvukových efektů, pouze se rozsvítí červená LED-dioda, která po nahrání hlavičky opět zhasne. Funkci lze přerušit stiskem "STOP". Pokud funkci přerušíte nebo pokud dojde k chybě, vypíše se hláška "Chyba nahrávání!". Mnemonika: tato funkce ("LOAD") je nad klávesou 'L' (u počítačů PMD 85).
^'K10' 
Vypíše "Konec A/N ?". Po stisku 'A' předá řízení monitoru PMD 85.
^'K11' 
Ruší a zapíná zvukové znamení indikující stisk klávesy.
'K11', 'WRK' 
Slouží k dosažení diakritických znamének a k dosažení některých znaků, na které nestačí kapacita klávesnice. Změna se provádí tak, že nastavíte kurzor na znak, který chcete měnit a pak stisknete jednu z těchto kláves. 'K11' posune kurzor po stiknutí o jeden znak doprava, 'WRK' ponechá kurzor na místě. Některé znaky mají i více změn, vždy se však končí na původním znaku. Například znak 'A' se mění takto: 'A' - 'Á' - 'Ä' - 'À' - 'A'. Změny se projevují na těchto znacích:
A C D E I L N O R S T U Y Z
a c d e i l n o r s t u y z
^ \ _ @

Popis připojení vlastní tiskové rutiny

Standardní tisková funkce je orientována na připojení tiskárny CONSUL 2111-03. Propojení s počítačem je popsáno ve čtvrtém dílu manuálu PMD 85 (output/enter manuál), kde je také popsáno použití z BASICu.

Propojení konektorů
PMD 85 - konektor GPIO význam konektor KK C.2111
14 SI-1 A
13 SI-2 B
16 SI-3 C
15 SI-4 D
18 SI-5 E
17 SI-6 F
20 SI-7 G
19 SI-8 H
1 GND I,J,L,N,T,V
10 AC M
3 SC K
spojit 9,4 !

Pro připojení vlastní tiskové rutiny slouží následující údaje. Na začátku KASWORDU se nalézají skoky na tyto podstatné rutiny:

0000 začátek programu
0003 inicializace tiskárny
0006 tisk bloku HL=adresa začátku
DE=adresa prvního byte za koncem
- volá rutinu na 0009
0009 tisk háčkočárkového písmene (znak v registru A)
- volá rutinu na 000C
000C tisk neháčkočárkového písmene (znak v registru A)

Vzhledem k využívání řídících znaků se na konci každé řádky posílá znak 0FFH. Rutina na 000C má za úkol dekódovat tento znak jako 'CR LF'.

organizace paměti: 0000-17FF KASWORD
1800-6FFF text
7000-70FF pracovní oblasti, zásobník
7100-71FF fronta kláves
7200-7FFF volná paměť

Pokud Váš program nebude fungovat, jak je zde popsáno, můžete se obrátit přímo na nás.

4004/482 ZO Svazarmu
Lopatecká 615/5
147 00 PRAHA 4