
  FULL SCREEN EDITOR pre CP/M 2.2 (Mikros)
--------------------------------------------
	ROMBORSOFT (c) 2008-2020

    FSED v2.0 je jednoduch celoobrazovkov
plain-text editor pre operan systm CP/M 2.2.
Editor je, vzhadom na svoj charakter, uren
na pravu obyajnch textovch sborov (napr.
zdrojov sbory pri programovan v assembleri
alebo vych jazykoch) a tak neposkytuje
iadne funkcie pre formtovanie textu. Napriek
tomu poskytuje mnostvo editanch funkci pre
prcu s riadkom, celm textom i blokom textu.
Editor pracuje iba s textom, ktor sa vojde do
vonej pamte. Vekos vonej pamte zvis od
konkrtnej implementcie CP/M.

FSED je mon pomocou konfiguranho programu
FSEDCONF prispsobi pre konkrtne vlastnosti
pouitho terminlu. FSEDCONF komunikuje
s uvateom iba v anglickom jazyku.

1. Spustenie editora
---------------------
Editor mono spusti obvyklm spsobom zadanm
mena programu. Za nzvom programu me
nasledova meno sboru, ktor chceme hne
otvori, prpadne ete jeden parameter.

    A>FSED
    A>FSED [d:]filename.ext
    A>FSED [d:]filename.ext linenumber
    A>FSED [d:]filename.ext @string
   
Ak je uveden aj meno sboru filename.ext, dan
sbor sa po spusten nahraje do pamte. Meno
nahrvanho sboru me zana psmenom
zdrojovho disku d:, na ktorom sa sbor
nachdza.
Za menom sboru me nasledova jeden
parameter, ktorm me by bu desiatkov slo
(linenumber) alebo ubovon reazec (string)
zanajci znakom @ (zavin). V prvom prpade
sa po nahran sboru kurzor nastav na dan
slo riadku, v druhom prpade sa v texte
vyhad prv vskyt zadanho reazca a kurzor
sa nastav na prv psmeno njdenho reazca
(vyhadvac reazec me obsahova rzne
escape znaky, vi. vyhadvanie v texte
popsan alej). Posledn dva prpady s vemi
uiton, kee umouj dosta sa na dan
miesto v texte ihne po spusten editora so
sasnm nahranm danho sboru do pamte.

2. Informan riadok
---------------------

  36:5   (272)   [30547]  INS  A:FILENAME.EXT

    Posledn riadok obrazovky je uren pre
zobrazenie zkladnch informci o editovanom
texte a pre zadvanie vstupnch dajov.
Informan riadok je od editovanho textu odde-
len jednm riadkom s vlnovkami.
Informan riadok obsahuje zava:
- slo riadku, na ktorom stoj kurzor
- slo stpca, na ktorom stoj kurzor
- v okrhlych ztvorkch celkov poet riadkov
  textu
- v hranatch ztvorkch zostvajca vekos
  vonej pamte pre text
- reim psania znakov v riadku
  - INSert - vkladac
  - OVeRwrite - prepisovac
- nzov aktulne editovanho sboru

Ak je rka obrazovky menia ako 48 znakov, me-
no aktulne editovanho sboru sa zobrazuje
v oddeovacom riadku vpravo. Ak sa od uvatea
vyaduje vstup, stane sa informan riadok dia-
lgovm pre zadvanie vstupnch dajov.

3. Formt textu
----------------
    Riadky s ukonen tandardne znakmi CR
<13> a LF <10>. Mu obsahova znak tabultor
TAB <9>. Ostatn riadiace znaky s kdmi menmi
ako 32 s pri nahrvan sboru do pamte zaha-
dzovan. Akceptovan s aj vetky znaky z hor-
nej polovice ASCII tabuky, teda s kdmi v-
mi ako 127, kde s zvyajne znaky s diakriti-
kou.
Jeden riadok textu, vrtane rozvinutch tabul-
torov na medzery, me obsahova maximlne 127
znakov. Pri opusten riadku, kedy sa riadok za-
rauje do textu, s medzery a tabultory na
konci riadku odstraovan.

4. Bloky
---------
    Editor umouje definova blok textu,
s ktorm je mon vykonva osobitn opercie.
Prslunos riadkov k bloku je signalizovan
zvislou iarou (znak |) v prvom stpci obrazov-
ky. Nerozliuje sa zaiatok a koniec bloku, ale
editor si pamt dva okraje a pri zadvan no-
vho odstrni ten, ktor bol zadan skr a pri-
d nov.

5. Editcia textu
------------------
    Editor me pracova v prepisovacom alebo
vkladacom reime, o je signalizovan v infor-
manom riadku, ako bolo uveden vyie.
V prepisovacom reime sa znak, na ktorom stoj
kurzor, nahrad (prepe) znakom zadanm z kl-
vesnice.
Vo vkladacom reime sa znak zadan z klvesnice
vlo pred znak, na ktorom stoj kurzor a text
v riadku od kurzora alej sa posunie o jednu
pozciu doprava. Ak u riadok obsahuje 127 zna-
kov, k vloeniu znaku nedjde.
Vloenie tabultora znamen prechod na aliu
tabelan pozciu vloenm prslunho potu
medzier, pri zobrazovan na obrazovke. V pamti
je samozrejme znak TAB <9>. Tabelan pozcie
s kadch 8 znakov.

Editcia v riadku prebieha v oddelenom buffri a
riadok sa zarauje do textu pri jeho opan.
Ak by pre vloenie editovanho riadku do textu
nebolo v pamti miesto, vype sa sprva "No
room for line(s)".

5.1 Editan funkcie programu FSED
-----------------------------------
    alej bude uveden zoznam vetkch edita-
nch funkci editora s prslunm popisom.
Nzvy editanch funkci s uveden v anglickom
jazyku, rovnako, ako je to v konfiguranom
programe FSEDCONF, v ktorom sa jednotlivm
funkcim prirauj poadovan kontroln klve-
sy.
tandardn priradenie kontrolnho klvesu pre
pota PMD 85 je uveden pri nzve funkcie
v ztvorkch. Znakom ^ bude oznaen klves
Shift. Klves |<-- bude nazvan ako pka
hore, klves -->| zasa ako pka dolu a slovo
HOME oznauje ikm pku.
Toto nastavenie je samozrejme mon v konfigu-
ranom programe zmeni.

'cursor left by char' (pka vavo)
	Posun o znak doava. Ak je u kurzor na
	zaiatku riadku, ni sa nestane.
'cursor right by char' (pka vpravo)
	Posun o znak doprava. Ak je u kurzor
	za poslednm znakom v riadku, ni sa
	nestane.
'cursor to begin of line' (HOME)
	Prechod na zaiatok riadku. Kurzor sa
	nastav na prv znak v riadku.
'cursor to end of line' (END)
	Prechod na koniec riadku. Kurzor sa
	nastav za posledn vloen znak
	v riadku.
'cursor left by word' (^pka vavo)
	Posun o slovo doava. Kurzor sa nastav
	na prv znak predchdzajceho slova.
	Za slov sa povauj skupiny znakov
	oddelen medzerami a tabultormi.
'cursor right by word' (^pka vpravo)
	Posun o slovo doprava. Kurzor sa nasta-
	v na prv znak nasledujceho slova.
'insert tabultor - TAB' (C-D)
	Vloenie tabultora v mieste kurzora.
	Do textu sa vlo priamo znak TAB <9>.
	Pri zobrazovan to znamen, e sa od
	polohy tabultora a po nasledujcu
	tabelan pozciu vypu medzery.
	Tabelan pozcie s kadch 8 znakov,
	teda 9. stpec, 17., 25., ... at.
'delete text from line' (CLR)
	Zmazanie obsahu riadku.
'delete text right of cursor' (^CLR)
	Zmazanie asti riadku vpravo od kurzo-
	ra.
'toggle mode INS/OVR' (INS)
	Zmena editanho reimu. Vi. vyie.
'delete char at cursor' (DEL)
	Zmae znak na pozcii kurzora. Ak sa
	kurzor nachdza na konci riadku, alebo
	je riadok przdny, djde k spojeniu
	tohto riadku s nasledujcim, ak ich
	celkov dka nepresiahne 127 znakov.
'backspace' (K1)
	Zmae znak pred kurzorom. Ak sa kurzor
	nachdza na zaiatku riadku, ni sa
	nestane.
'restore original line text' (RCL)
	Vrti obsah riadku do stavu, v akom
	bol pred jeho zmenou.
'next ASCII character' (^WRK)
	Znak, na ktorom je kurzor, sa zmen na
	znak, ktor za nm nasleduje v ASCII
	tabuke. Umouje to vklada aj znaky,
	ktor na klvesnici danho terminlu
	chbaj.
'key ENTER/RETURN' (EOL)
	Nov riadok.
	Ak stoj kurzor na zaiatku riadku, tak
	sa PRED tento riadok vlo nov riadok.
	Ak stoj kurzor na konci riadku, tak sa
	ZA tento riadok vlo nov riadok.
	Ak stoj kurzor vo vntri riadku, tak
	sa tento riadok rozdel na dva v mieste
	kurzora.
	Ak ale nie je dos vonej pamte pre
	vloenie novho riadku, do informanho
	riadku sa vype "No room for line(s)".
'cursor to previous line' (pka hore)
	Posun kurzora na predchdzajci riadok.
	Ak sa kurzor nachdza na prvom riadku
	obrazovky, zobraz sa predchdzajca
	strnka textu. Poet riadkov, o ktor
	sa kurzor posunie, zvis od potu
	riadkov na obrazovke terminlu a
	"strnkuje" sa o 3/4 z celkovho potu
	riadkov obrazovky terminlu.
'cursor to next line' (pka dolu)
	Posun kurzora na nasledujci riadok.
	Ak sa kurzor nachdza na poslednom
	riadku obrazovky, zobraz sa nasleduj-
	ca strnka textu.
'previous page' (^pka hore)
	Prechod na predchdzajcu strnku tex-
	tu.
'next page' (^pka dolu)
	Prechod na nasledujcu strnku textu.
'first text line' (^HOME)
	Prechod na prv riadok textu.
'last text line' (^END)
	Prechod na posledn riadok textu.
'delete current line' (^DEL)
	Odstrnenie riadku, na ktorom stoj
	kurzor.
'duplicate line' (^INS)
	Zduplikuje aktulny riadok tak, e pred
	tento riadok vloi jeho kpiu.
'exchange lines' (^RCL)
	Zamen aktulny riadok s predchdzaj-
	cim. Ak kurzor stoj na prvom riadku
	textu, ni sa nestane.
'set block boundary' (^C-D)
	Nastavenie okraja bloku. Opercie, kto-
	r je mon vykona nad blokom textu,
	s uveden v popise prkazov.
'enter command mode' (WRK)
	Prechod do prkazovho reimu.

5.2 Prkazov reim
--------------------
    Okrem asto pouvanch operci, ktor je
mon dosiahnu funknmi klvesmi, obsahuje
editor ete prkazov reim. Povely v prkazo-
vom reime sa zadvaj stlaenm prslunho
psmenovho klvesu. Po stlaen klvesu 'enter
command mode' (WRK), sa do informanho riadku
vype: "Command:" a ak sa na zadanie povelu.
Ak sa stla klves, ktor nem priraden iad-
ny povel, ni sa nevykon. Zoznam povelov:

Q (Quit) - ukonenie programu
	Ak bol text v pamti zmenen a nebol
	uloen, do informanho riadku sa vy-
	pe "Text changed. Save? (Y/N)". 'Y'
	znamen kladn odpove a text je uloe-
	n pod aktulnym menom. Klves 'N' zna-
	men zporn odpove a ukonenie edito-
	ra bez uloenia textu. Ak text ete ne-
	bol uloen (nebolo zadan meno sboru)
	editor si vyiada zadanie novho mena
	sboru.
X (clear teXt) - zmazanie celho textu
	Editor najprv vype do informanho
	riadku "Are you sure? (Y/N)". Po stla-
	en 'Y' sa ete testuje, i bol aktu-
	lny text zmenen. Ak no, djde k ulo-
	eniu textu, rovnako ako pri povele Q.
	Nsledne sa vymae cel text.
L (Load) - nahratie textu zo sboru do pamte
	Najprv sa testuje, i bol aktulny text
	zmenen. Ak no, djde k uloeniu aktu-
	lneho textu v pamti, rovnako ako pri
	povele Q. Nsledne si editor vyiada
	zadanie mena sboru a djde k nahratiu
	sboru do pamte. Ak je sbor prli
	dlh a nevojde sa do pamte, do infor-
	manho riadku sa vype "Too long.
	Truncated!" a v pamti je iba as
	textu.
	Pri natavan textu zo sboru sa ak-
	ceptuj iba riadiace znaky CR, LF
	a TAB. Vetky ostatn riadiace kdy sa
	ignoruj. Akceptuj sa aj znaky z hor-
	nej polovice ASCII tabuky, teda znaky
	s kdmi vmi ako 127, kde s obvykle
	znaky s diakritikou. Riadky natavan-
	ho textu mu by ukonen s CR, LF,
	CRLF alebo EOF. Maximlna dka riadku
	je 127 znakov pri rozvinut tabultorov
	na medzery. Ak je riadok zo sboru dlh-
	, bude rozdelen na dva. Prpadn me-
	dzery a tabultory na konci riadku s
	odstrnen. Za koniec textu sa povauje
	znak EOF alebo fyzick koniec sboru.
I (Insert) - vloenie textu zo sboru
	Editor si vyiada zadanie mena sboru
	a text z danho sboru sa nahraje pred
	riadok, na ktorom stoj kurzor. Kee
	natavanie textu zo sboru prebieha po
	riadkoch, ktor sa postupne vkladaj do
	existujceho textu, me natanie dl-
	hho textu trva dlhie. Ak je vkladan
	text prli dlh a presiahne vekos
	vonej pamte, vype sa sprva "Too
	long. Truncated!". Po natan textu zo
	sboru sa kurzor nastav na prv ria-
	dok, ktor bol zo sboru natan.
S (Save) - uloenie textu do sboru
	Ak u bolo meno sboru zadan, text sa
	ihne ulo. Inak si editor vyiada za-
	danie mena sboru a text ulo.
	Pri ukladan s jednotliv riadky textu
	ukonen znakmi CR a LF, ako je to na
	CP/M obvykl. Na koniec textu sa ako
	posledn znak sboru zape znak EOF
	(znakom EOF je vyplnen zbytok posled-
	nho sektoru sboru).
	Uloenie prebieha v troch krokoch. Naj-
	prv sa zmae prpadne existujci sbor
	filename.BAK. Potom, ak existuje sbor
	s poadovanm menom filename.ext, tak
	sa zmen jeho prpona na BAK. Nakoniec
	sa ulo text do sboru pod menom
	filename.ext.
A (save As) - uloenie sboru pod inm menom
	Editor si vyiada zadanie mena sboru
	a text ulo do sboru pod danm menom.
	Zrove sa zadan meno sboru stva
	aktulnym.
B (save Block) - ulo. ozna. bloku do sboru
	Editor si vyiada zadanie mena sboru
	a nastaven blok textu ulo do sboru
	pod danm menom.
D (Delete block) - zmazanie oznaenho bloku
	Editor najprv vype do informanho
	riadku "Are you sure? (Y/N)". Po stla-
	en 'Y' sa nastaven blok zmae. Po
	stlaen 'N' sa zmazanie neprevedie.
C (Copy block) - skoprovanie nastavenho bloku
	Nastaven blok textu sa skopruje pred
	riadok s kurzorom. Ak ale nie je dos
	vonej pamte pre skoprovanie bloku,
	do informanho riadku sa vype
	"No room for line(s)" a ku koprovaniu
	nedjde. Nemono koprova do vntra
	bloku.
M (Move block) - presunutie nastavenho bloku
	Nastaven blok textu sa presunie pred
	riadok s kurzorom. Ak ale nie je dos
	vonej pamte pre presunie bloku, do
	informanho riadku sa vype "No room
	for line(s)" a k presunu nedjde. Blok
	nemono presun do vntra bloku.
G (Go to line) - skok na zvolen riadok
	Do informanho riadku sa zobraz
	"Line:" a editor ak na zadanie sla
	riadku, na ktor sa m skoi. Ak zada-
	n slo nie je v rozsahu 1 a poet
	riadkov textu, ni sa nestane.
F (Find string) - vyhadanie reazca
	Vyiada si zadanie reazca, ktor sa m
	vyhada a zane hadanie od aktulnej
	pozcie kurzora, priom sa v informa-
	nom riadku zobraz "Wait please...". Ak
	sa dan reazec v texte njde, kurzor
	sa nastav na prv znak njdenho re-
	azca v riadku, v ktorom sa hadan re-
	azec naiel. Ak sa pri hadan dosiah-
	ne koniec textu, o znamen, e sa ha-
	dan reazec nenaiel, do informanho
	riadku sa vype "String not found".
	Pri hadan sa nerozliuje vekos ps-
	men (psmen v dolnej polovici ASCII
	tabuky). Hadan reazec me obsaho-
	va rzne Escape znaky. Escape znak za-
	na opanm lomtkom '\'.
	- \C - rozliova vekosti psmen
	- \\ - opan lomtko
	- \T - znak tabultor
	- \? - ubovon znak
	- \S - ubovon poet medzier a tabu-
	       ltorov, minimlne vak jeden
N (find Next) - vyhadanie alieho vskytu
	Od pozcie kurzora sa had al vs-
	kyt reazca zadanho v povele F. Ak
	kurzor stoj na naposledy njdenom vs-
	kyte, hada sa zane od alieho znaku
	textu.
R (Replace) - nahradenie reazca
	Nahradenie reazca naposledy njdenho
	povelom F, resp. N zadanm reazcom.
	Kurzor mus st prve na naposledy
	njdenom vskyte. Editor si vyiada za-
	danie nahradzovacieho reazca, ktor
	me obsahova alej uveden Escape
	znaky. Pri nahradzovan sa testuje, i
	po nahraden nepresiahne dka riadku
	127 znakov alebo i je pre zmenen ria-
	dok dostatok miesta v pamti. Ak nahra-
	denie nie je mon, vype sa hlsenie
	"No room for line(s)". Ak je nahradenie
	spen, prevedie sa automaticky povel
	N, teda vyhadanie alieho vskytu.
	Takto je mon postupne striedanm po-
	velov N a R nahradzova urit vskyty
	reazcov v texte. Povolen Escape znaky
	s tieto:
	- \\ - opan lomtko
	- \T - znak tabultor
T (replace all) - nahr. vet. vskytov reazca
	Kurzor mus st prve na naposledy
	njdenom vskyte. Editor si vyiada za-
	danie nahradzovacieho reazca a nahrad
	v celom texte vetky vskyty reazca
	naposledy njdenho pomocou povelu F.
	Podobne, ako v povele R, ak by nebolo
	nahradenie spen, vype sa hlsenie
	"No room for line(s)", povel sa ukon
	a kurzor bude na riadku, kde k nahrade-
	niu nemohlo djs. Ak je nahradenie v
	celom texte spen, kurzor sa nastav
	na prv nahraden reazec.
P (Print text) - vytlaenie textu na tlaiarni
	Do informanho riadku sa zobraz
	"Printing... (Ctrl+C to abort)" a text
	sa zane posiela na tlaiare. Tla
	mono prerui stlaenm Ctrl+C (END
	na PMD 85).
O (print blOck of text) - vytlaenie nastaven-
		ho bloku textu na tlaiarni
	Do informanho riadku sa zobraz
	"Printing... (Ctrl+C to abort)" a nas-
	taven blok textu sa zane posiela na
	tlaiare. Tla mono prerui stlae-
	nm Ctrl+C (END na PMD 85).
Z (show directory) - zoznam suborov na disku
	Do informanho riadku sa zobraz
	"Drive?" a editor ak na stlaenie
	psmena disku, ktorho zoznam sborov
	sa m vypsa. Zobraz sa iba prost
	zoznam vetkch sborov bez informcie
	o ich dke. Ak je na disku sborov
	viac ako sa vojde na strnku, vype sa
	text "SPACE - next page" a po stlaen
	medzery sa zobrazia alie men sbo-
	rov. In klves povel ukon. Ak na
	disku nie s iadne sbory, zobraz sa
	text "No files".
Y (show full directorY) - zoznam sborov na
		disku s dkami sborov
	Do informanho riadku sa zobraz
	"Drive?" a editor ak na stlaenie
	psmena disku, ktorho zoznam sborov
	sa m vypsa. Zobraz sa zoznam sbo-
	rov vrtane ich dok a vonho miesta
	na danom disku - "nnn kB free". Zska-
	vanie dok sborov me trva trochu
	dlhie. Inak plat to ist, ako pri po-
	vele Z.
W (reset disk system) - reinic. disk. systmu
	Tento povel je uiton a nutn po v-
	mene disku, na ktor sa m nsledne za-
	pisova. Inak systm po vmene ozna
	tento disk ako R/O a zpis skon
	systmovou chybou.
V (show Version) - zobrazenie verzie programu
	Zmae obrazovku a vype verziu progra-
	mu s nzvom terminlu, pre ktor je
	editor nakonfigurovan. Po stlaen u-
	bovonho klvesu sa znovu zobraz edi-
	tovan text.

5.3 Zadvanie vstupnch dajov
-------------------------------
    Ako u bolo spomenut vyie, informan
riadok zrove sli pre zadvanie rznych
vstupnch dajov. Znaky, ktor mono zada z-
visia od toho, ak zadanie sa od uvatea oa-
kva. Okrem bench znakov mono pre editciu
poui nasledujce riadiace klvesy (pouit
nzvy pre jednotnos zodpovedaj vyie uvede-
nm editanm funkcim a v ztvorke je uveden
klves na PMD 85):
  - cursor left by char (<--)
	zmazanie poslednho znaku
  - backspace (K1)
	zmazanie poslednho znaku
  - delete text from line (CLR)
	zmazanie editanho riadku
  - restore original line text (RCL)
	preruenie vstupu a ukonenie povelu
	bez jeho vykonania
  - key ENTER/RETURN (EOL)
	potvrdenie vstupu
* Meno sboru
	Meno sboru za zadva v tvare
	[d:]filename.ext, kde je psmeno dis-
	kovej jednotky d: nepovinn. Pre zada-
	nie mena sboru s povolen iba znaky
	bodka, pomlka, dvojbodka, sla a ps-
	men. Mal psmen s automaticky mene-
	n na vek. Dvojbodka sa samozrejme
	me vyskytn iba za psmenom diskovej
	jednotky. Bodka sa me vyskytn iba
	ako oddeova mena a prpony sboru.
* slo riadku
	Pri zadvan sla riadku pre povel G
	s samozrejme povolen iba sla.
* Hadan alebo nahradzovan reazec
	Tu je povolen zadva vetky znaky
	z klvesnice.

6. Hlsenia editora
--------------------
* No room for line(s)
    pri vkladan novho riadku alebo pri kop-
    rovan/presvan bloku, ak nie je dos vo-
    nej pamte
* File not found
    poadovan sbor sa na disku nenaiel
* Loading file...
    pri nahrvan sboru do pamte
* Command:
    editor oakva zadanie povelu
* Are you sure?
    pri mazan celho textu alebo pri mazan
    nastavenho bloku textu
* Text changed! Save?
    text bol zmenen a uvate chce nahra
    zo sboru nov text alebo chce zmaza cel
    text
* Saving file...
    text sa uklad do sboru
* Name:
    editor oakva zadanie mena sboru
* Too long. Truncated!
    nahrvan sbor je dlh ako von pam
* Bad file name
    zadan meno sboru je nesprvne
* Directory full
    pri vytvran/ukladan sboru u nie je
    miesto v adresri
* Disk full
    pri vytvran/ukladan sboru u nie je
    miesto na disku
* Line:
    editor oakva zadanie sla riadku
* Drive?
    editor oakva psmeno disku
* Find:
    editor oakva zadanie reazca, ktor sa m
    vyhada
* Wait please...
    pri hadan/nahradzovan reazcov, pri pre-
    svan/koprovan bloku
* String not found
    ak sa pri hadan dosiahol koniec textu
    alebo pri nahradzovan nestoj kurzor na
    naposledy njdenom vskyte
* Printing... (Ctrl+C to abort)
    pri tlai textu na tlaiare
* Replace:
    editor oakva zadanie reazca, ktorm sa
    m nahradi njden reazec
* SPACE - next page
    pri vpise zoznamu sborov na disku
* No files
    na zvolenom disku nie s iadne sbory
* nnn kB free
    pri vpise vonho miesta na disku

7. Technick detaily
---------------------
    Editor pouva niekoko priamych volan
sluieb BIOSu CP/M.

* CONST - stav konzoly
    volan pri tlai na tlaiare pre prieben
    test Ctrl+C
* CONIN - tanie znaku z konzoly
    volan pri samotnej editcii textu, aby sa
    "obilo" volanie sluby BDOSu, ktor rob
    neiadce "echo" stlaenho znaku na vstup
    konzoly
* CONOUT - vstup znaku na konzolu
    volan pri vpise textu, aby bol vpis
    rchlej a obiiel sa neiadci test kon-
    zoly na pozastavenie vpisu
* LIST - vstup znaku na tlaiare
    volan pri tlai textu
* LISTST - test pripravenosti tlaiarne
    volan pri tlai textu (je dleit, aby
    bola tto sluba v BIOSe korektne implemen-
    tovan (minimlne by mala sluba vraca
    vdy 0FFh), inak sa me program po vyvola-
    n povelu P alebo O "zasekn")
* SELDSK - vber diskovej jednotky
    volan pre zistenie dostupnch diskovch
    jednotiek, o sa vyuva pri poveloch Z a Y

8. Konfiguran program
------------------------
    Vzhadom na to, e systm CP/M nedefinuje
jednoznane vlastnosti vstupu z konzoly a vs-
tupu na konzolu, FSED je mon nakonfigurova
na vlastnosti konkrtneho systmu a jeho konzo-
ly (terminlu) pomocou konfiguranho programu
FSEDCONF. V tomto programe je mon zadefinova
ovldacie klvesy pre jednotliv editan funk-
cie a spsob "ovldania" vstupu na konzolu.
Vsledn konfigurcia sa potom zape do samot-
nho programovho sboru FSED.COM. Distribun
disk obsahuje editor nakonfigurovan pre
PMD 85.
    Konfiguran program FSEDCONF.COM sa spa
z aktulneho disku, na ktorom mus by aj sa-
motn editor, teda sbor FSED.COM. Za nzvom
konfiguranho programu me by jeden seln
parameter urujci poet znakov na riadok (zr)
aktulneho terminlu. To umon vhodn zalamo-
vanie textu konfiguranho programu a lepiu
itatenos. Ak sa tento parameter neuvedie,
pouije sa hodnota 80 znakov na riadok.

    A>FSEDCONF
    A>FSEDCONF zr

Pred spustenm konfiguranho programu je dobr
si vytvori zlohu sboru FSED.COM. Konfigura-
n program po spusten najprv vyzve uvatea,
aby potvrdil, e m sbor FSED.COM odzlohova-
n. Potom sa zobraz nasledujce menu:

  Menu:
 
    1. Display input console settings
    2. Edit input console settings
    3. Display output console settings
    4. Edit output console settings
    5. Terminal name: PMD 85
    0. Exit and save changes
 
  Your option:

* Display input console settings
    Zobraz aktulne nastavenie riadiacich kl-
    vesov pre jednotliv editan funkcie, ako
    boli uveden vyie.
* Edit input console settings
    Voba priradenia riadiacich klvesov pre
    jednotliv editan funkcie. Je mon si
    vybra medzi dvoma spsobmi priradenia:
    - zadanm hexadecimlneho kdu riadiaceho
      klvesu : Kdy mu by v rozsahu 01 a
      1F a 7F a FE. Zadanie FF znamen, e da-
      n editan funkcia nebude dostupn. Odo-
      slanie przdneho riadku znamen, e sa
      aktulny kd nezmen. Stlaenm CTRL+Z sa
      prevedie nvrat do menu.
    - stlaenm danho riadiaceho klvesu : Po
      stlaen riadiaceho klvesu treba dan
      vobu potvrdi klvesom SPACE. Zadanie -
      (pomlky) znamen, e dan editan funk-
      cia nebude dostupn. Stlaenie iba klve-
      su SPACE ponech pvodn nastavenie. N-
      vrat do menu je mon stlaenm psmena
      Q.
* Display output console settings
    Zobraz aktulne nastavenie vstupu na
    konzolu.
* Edit output console settings 
    Urenie vlastnost konzolovho vstupu.
    Stlaenm CTRL+Z sa prevedie nvrat do me-
    nu. Od uvatea sa poaduj tieto paramet-
    re:
    - poet znakov na riadok
    - poet riadkov na obrazovke
    - riadiaca (escape) sekvencia pre nastave-
      nie pozcie kurzora (povinn) - max.
      8 kdov
    - riadiaca (escape) sekvencia pre zmazanie
      obrazovky (povinn) - max. 8 kdov
    - riadiaca (escape) sekvencia pre skrytie
      kurzora (nepovinn) - max. 8 kdov
    - riadiaca (escape) sekvencia pre zobraze-
      nie kurzora (nepovinn) - max. 8 kdov
    - riadiaca (escape) sekvencia pre ppnutie
      (nepovinn) - max. 3 kdy
    Poet znakov na riadok a poet riadkov na
    obrazovku sa zadva v desiatkovej sstave.
    Kdy v riadiacej sekvencii sa zadvaj he-
    xadecimlne a jednotliv kdy sa oddeuj
    medzerami. Odoslanie przdneho riadku zna-
    men ponechanie aktulneho nastavenia. Pre
    nepovinn riadiace sekvencie, ktor sa ne-
    maj poui alebo nie s terminlom podpo-
    rovan, treba zada iba 00.
    V riadiacej sekvencii pre nastavenie poz-
    cie kurzora sa musia uvies "kov slov"
    row a col (na vekosti psmen nezle) v
    mieste, kde m by poadovan slo riadku
    a stpca. Nsledne je treba uri, i s v
    sekvencii sla riadku a stpca v binrnom
    alebo ASCII tvare. Ak s v binrnom tvare,
    tak je nakoniec treba ete zada o ak hod-
    notu s jednotliv sla posunut (hexade-
    cimlne).
* Terminal name
    Zadanie mena terminlu, pre ktor je tto
    konfigurcia uren. Meno terminlu sa po-
    tom zobraz pri tarte editora, prpadne po
    vyvolan prkazu pre zobrazenie verzie.
    Dka mena terminlu je maximlne 12
    znakov.
* Exit and save changes
    Ukonenie konfiguranho programu a uloe-
    nie zmien. Program sa najprv opta, i m
    zmeny skutone uloi do FSED.COM. Po klad-
    nej odpovedi sa FSED.COM modifikuje a je
    pripraven na pouvanie na danom termin-
    li.

