KOFIG návod                                       TASWORD TWO
                                       LZR Soft, 28.února 1988
Návod k programu KOFIG-LZR - první verze
========================================
Program KOFIG je určen k práci s obrázky ( v režimu GII ), při-
čemž jeho hlavním úkolem je tyto obrázky upravit a komprimovat.
Ovládání programu KOFIG-LZR
----------------------------
Po nahrání se KOFIG sám pustí, dekomprimuje uživateli úvodní ob-
rázek a očekává stisk libovolné klávesy. Program nabízí uživate-
li MENU a očekává od něho povely.Povel lze zadat číslem (1 až 6)
nebo znakem ( v MENU znázorněn inverzně ) nebo odesláním příkazu
( klávesou RETURN nebo SPACE ), u kterého je ukazatel(>),přičemž
ukazatelem se pohybuje pomocí šipek ( nahoru a dolu ).
Význam povelů
-------------
Load:STANDART - používá se k nahrání obrázku do paměti VRAM tak,
jak jej vyžaduje režim GII.Program kotroluje typ a poslední ad-
resu souboru, který má nahrát. Pokud údaje nesouhlasí ( typ .VM
začátek kdekoliv a poslední adresa menší než &3800 ) vypíšě
hlášku File "........" is skiped a soubor nenahraje.Souhlasí-li
mu údaje, přepne pohled na druhou obrazovku a nahraje celý sou-
bor. Po skončení loadu se opět přepne pohled a uživatel je dotá-
zán,jestli je obrázek celý. To proto, aby ke tvarům byly správné
barvy a naopak.Po zadání Y se provede ÚPRAVA obrázku (viz dále).
Load:KOMPRESE - slouží k nahrání komprimovaného obrázku. Program
kontroluje počátek ( může začínat kdekoli adresově za KOFIGEM ),
typ souboru a je-li poslední znak ve jménu "K". Chová se stejně
jako LOAD STANDART, s tím rozdílem, že po nahrání provede
dekomprimaci a čeká na stisk nějaké klávesy.
Save:STANDART - slouží k zaznamenání obrázku na magnetofon.Zadá-
vané jméno může mít maximálně 7 znaků.Odpoví-li se pouze RETURN,
použije se naposledy uvedené jméno. Obrázek se zaznamenává jako
jako dva soubory typu .VM, s rozlišením v posledním znaku jména
( P - path , C - color ).
Save:KOMPRESE - používá se k zaznamenání komprimovaného obrázku
na magnetofon. Obrázek se zaznamenává jako spustitelný program
ve strojovém kódu, který po zpětném nahrání do počítače provede
dekompriaci. Nevyžaduje pochopitelně, aby byl v počítači program
KOFIG.Jméno se zadává stejně jako u Save STANDART, jako poslední
znak ve jménu souboru je doplněno K.
SWITCH SCREEN - přepne pohled na druhou obrazovku a očekává
stisk libovolné klávesy.
EXIT - slouží k regulérnímu odchodu z programu. Je znovu natažen
systém ( obdoba CALL 0 ), s tím, že na druhé obrazovce zůstává
zachován obrázek.
Práce s komprimovanými obrázky
------------------------------
Pro komprimované obrázky lze najít spoustu využití.Počínaje pou-
hým prohlížením přetažených obrázků ze SINCLAIRa, konče konkrét-
ní aplikací obrázků v programech ( například ve hrách JET-PAC,
PYJAMARAMA, STARWAR, ... ). Dekomprimační program počítá se vše-
mi těmito možnostmi využití a snaží se vyjít uživateli maximálně
vstříc a minimálně jej omezovat. Platí následující pravidla:
 Po nahrání se program sám spustí a provede dekomprimaci obráz-
ku. Pokud uživatel nežádá autostart, musí si změnit v hlavičce
programu atribut na 01 nebo 00 ( například v kopírovacím progra-
mu LADY COPY ). Program lze potom kdykoli spustit příkazem:
 CALL &XXXX, kde &XXXX je startovací adresa dekomprimačního
programu. Startovací adresa je závislá na dvou faktorech:
 na verzi KOFIGu, kterou má uživatel k dispozici ;
 na způsobu vzniku komprimovaného obrázku ;
Adresu lze například zjistit kterýmkoli dobrým hlavičkářem. Pro
vlastní dekomprimaci platí několik zásad:
 po dekomprimaci se kurzor umístí vždy na opačnou obrazovku, než
  na které vznikl obrázek;
 obrázek vzniká vždy na té obrazovce, na které je režim GII,nebo
  pokud není GII na žádné obrazovce,tak na té, na které je umís-
  těn kurzor;
 pohled se přepne na obrázek,pokud je před dekomprimací nastaven
  na některé z obrazovek režim GII.Pohledem se nehýbe,pokud před
  dekomprimací není na žádné z obrazovek režim GII;
Pro uživatele je tedy důležité jen to, má-li na některé obrazov-
ce režim GII. Pokud uživatel chce,aby po dekomprimaci zůstal po-
hled zachován, zajistí si, aby nebyl na žádné z obrazovek režim
GII. Pokud si uživatel chce komprimované obrázky jen prohlížet,
stačí mu na to program sestávající z jednoho řádku: 1 OLD:GOTO 1
Ještě ke způsobu,jak může komprimovaný obrázek vzniknout "jinak"
než jako produkt KOFIGu. Samozřejmě jako produkt některého z ko-
pírovacích programů.Když totiž uživatel změní údaje ve hlavičce,
například změní počáteční a startovací adresu na &8000, už tako-
výto program do KOFIGu nenahraje, i když takto  změněný  program
také funguje ( provádí se správná dekomprimace správných dat ),
což je další zjednodušení pro uživatele. Vyžaduje-li totiž, aby
byl dekomprimační program ( při konkrétní aplikaci ) umístěn v
paměti jinde,než je teď, a aby při novém umístění také fungoval,
stačí jej na dané místo "přesunout" - nemusí se tedy relokovat.
Co je to ÚPRAVA
---------------
Program KOFIG neponechává obrázky v takovém stavu,v jakém vznik-
ly,ale snaží se je optimalizovat. Je-li například někde v obráz-
ku nadefinovaná stejná barva popředí i pozadí, nemá význam, aby
v témže místě měl znak jiný tvar než tvar mezery. Program tako-
váto místa vyhledává a uvádí je na pravou míru, přičemž zpraco-
vává všechny možné stavy tohoto jevu ( např. nemají význam dvě
rozdílné barvy na znaku o tvaru mezery nebo plného čtverce a po-
dobně ). Nalezne-li KOFIG při ůpravě nedefinou barvu ( kód 0 ),
je  uživatel dotázán na explicitní barvu jakou má mít správně ta
"průhledná" barva ( vlastně se ptá uživatele, jaký byl BCOL při
vzniku obrázku ) a musí ji odsouhlasit. Chce-li se uživatel jen
podívat na obrázek ( neví jaká barva bude vhodná ), stačí aby
stiskl RETURN. Tím se přepne pohled na druhou obrazovku a uživa-
tel může dumat nad vhodnou barvou ( zpravidla je to 1 ).
Je-li pro uživatele provedení ÚPRAVy nežádoucí,stačí aby odpově-
děl po nahrání celého obrázku na dotaz, jestli je obrázek celý N
a ihned poté stiskl <RESET>. Tím se úprava neprovede. Provádění
ůpravy je oznámeno hláškou "Adjusting ..."
Další "vymoženosti" programu KOFIG-LZR
--------------------------------------
Program je ve strojovém kódu a nelze jej přerušit. Po zakončení
práce je znovu natažen systém. A to vše je proto,že program ničí
zásobník a jakýkoli jiný způsob zakončení jeho práce by vedl
bezpečně k  úplnému restartu počítače.
Program má dvě startovací adresy. První adresa ( tzv. studený
start ) je zároveň i adresa autostartu.Je-li program odstartován
od této adresy, je zničen zásobník a jsou inicializovány obě ob-
razovky.Druhá adresa ( tzv. horký start ) provede z celé inicia-
lizace pouze CTRL/U a CTRL/T s tím,že zásobník zůstává zachován.
Uživatel si musí sám zajistit na druhé obrazovce režim GII včet-
ně GINITu ( tento start slouží především k zachování obrázku na
druhé obrazovce, jinak nemá větší význam jej používat ). Program
používá vlastní znakový generátor,který je "šitý" na režim TEXT.
Pokud by některého uživatele rozčiloval pohled na "NAŠE" krásná
písmenka, je níže popsán způsob jak je nahradit jinými. V žádném
případě se však uživatel nezbaví nového tvaru pro CHR$(0). Musí
se smířit s tím, že bude puntíkatý. To proto,že při loadu a save
se tiskne jméno na plný počet znaků a CHR$(0) je potom reprezen-
tován ve jménu "dírou".
Program KOFIG je vylepšen o nové FUNC KEY.  Při  zadávání  jména
souboru lze stisknout <FUNC> + <klávesa> a zobrazí se  například
< é >. Tyto znaky jsou brány s  ohledem  na  standartní  znakový
generátor a proto je možné je bez obav použít. Který znak je  na
jaké klávese si musí uživatel zjistit sám. Rozmístění  znaků  je
voleno tak, aby například "A" s čárkami, tečkami  a  tím  dalším
byly poblíž klávesy < A >.
KOFIG má i tzv. SET-UP MODE.Vstupuje se do něho z první obrazov-
ky stiskem < SHIFT > + < RESET > nebo < CTRL > + < RESET >.První
tři dotazy se týkají povelové obrazovky. Zadá se barva pozadí a
barva znaků ( jednou hexadecimální číslicí ) a následuje oříšek
programu. Kladnou odpovědí na dotaz "LAST STCHR ?" si uživatel
určuje, že chce mít zachovaný ( až do další změny ) ten znakový
generátor, který byl na obrazovce před vstupem do SET-UPu.
Znamená to zároveň, že chce mít tento generátor pokaždé automa-
ticky inicializován, dojde-li k jeho poškození ( například pře-
hrání při Load ). To tedy platí, když se odpoví < Y >. Odpoví-li
se < N > , znamená to, že uživatel nevyžaduje permanentní pří-
tomnost "posledního" znakového generátoru.Co bude mít v tom pří-
padě na obrazovce?Ten znakový generátor,který tam měl ve chvíli,
kdy odpovídal na otázku. Při Loadu se potom tento generátor ne-
bnovuje. Proč je toto oříšek ? Uvedu příklad:
Dejmež tomu, že se jsem po nahrání KOFIGu vstoupil do SET-UPu
a zadal na dotaz "LAST STCHR ?" < N >. A teď jsem zadal Load
a nahrála se mi VRAM - generátory barev, generátory tvarů a taky
generátor sprajtů, což je zároveň i generátor znaků pro  opačnou
obrazovku. To znamená, že se mi poškodil generátor znaků a to
zrovna tak nešikovně, že nevidím na obrazovce nic než bludy.
Vstoupím tedy do SET-UP,čímž se mi obnoví "NAŠE" krásná písmenka
a na dotaz "LAST STCHR ?" mohu teď odpovědět Y když chci,  abych
tam ty bludy ( nebo případný jiný generátor s ještě krásnějšími
znaky ) měl napořád,nebo N když chci radši ty písmenka,která teď
vidím. Odpovím tedy N. Jenže já vím,že teď budou na pásce násle-
dovat samé vramky, které mi budou tato písmenka likvidovat. A o
to já nestojím. Proto, když ze SET-UPu vypadnu, hned si ho volám
znovu a zadávám,že chci tato písmenka permanentně. Tímto příkla-
dem chci tedy demonstrovat holý fakt,že jedním dotazem lze odpo-
vědět na dvě věci, což se děje právě v tomto případě a když ty
dvě věci jsou náhodou v rozporu,musím tento dotaz volat dvakrát.
V tom je ten náš "oříšek"-uživatel musí myslet a to hned na dvě
věci najednou. Samozřejmě je pamatováno i na ty, kdož občas ne-
myslí. Stiskne-li se totiž v SET-UP MODu < CTRL > + < RESET >,
natáhnou se do generátoru obrazovky zcela standartní znaky ( až
na CHR$(0) ). Takže budete-li zmatení z mého výkladu a stane-li
se vám, že i SET-UPu budete mít místo písmenek bludy, nezoufejte
a stiskněte < CTRL > + < RESET >.
Vraťme se ale do vlastního SET-UPu. Po tomto dotazu následují
další tři dotazy, týkající se grafické obrazovky. Opět lze zadat
barvu pozadí, dále se zadává záznamová rychlost ( STDLY ) a to
dvěmi hexadecimálními číslicemi,přičemž se kontroluje, nezadala-
-li se nesmyslná rychlost.Následujícím dotazem lze provést úpra-
vu ( stejnou jako po Loadu celého obrázku ). Protože se nemůže
začít provádět ihned po zadání < Y >, začne se provádět až po
vypadnutí ze SET-UP a to po návratu ze SWITCH SCREEN ( musí se
tedy zadat např. "5" a stisknout nějaká klávesa ). Tolik tedy
k SET-UP MODu. Odpovědi lze samozřejmě i odbývat, stiskne-li se
< RETURN > je to stejné, jak kdyby ten který dotaz neexistoval
a ignoruje se. Při dotazu "LAST STCHR ?" se KOFIG chová obdobně
jako při poslední odpovědi, protože si jí pamatuje - z toho také
vyplývá, že to není totéž co zadání < N >.
Dalším kladem je, že komprimovaný obrázek si s sebou nese i in-
formaci o barvě pozadí ( BCOL ). Tu si vyžádá buď dotazem při
úpravě ( jen když je v obrázku "díra" ), nebo jí lze zadat
v SET-UP MODu. Uživatel by tento fakt neměl opomínat, aby se mu
nestalo, že si nahraje komprimovaný obrázek s dejmežtomu bílým
pozadím, když mělo být pozadí černé ( například u obrázků s te-
matikou vesmíru by tento fakt působil dost rušivě ).
Základní údaje o programu KOFIG - LZR (S) 03.31
-----------------------------------------------
Startovací adresa  ( adresa autostartu )    : &B000
Adresa horkého startu                       : &B003
Konec programu "machine code"               : &C4FF
Konec programu včetně dat ( fyzický konec ) : &D2FF
Poslední adresa kterou proram ještě využívá : &F1FF
Základní údaje o produktu .CM ( dekomprimační program a data )
--------------------------------------------------------------
Počáteční a zároveň startovací adresa : &C45D
( lze ji libovolně měnit )
Minimální délka programu              : &0525
( 10% z původních 12 kB )
Maximální délka programu              : &2DA2
( 95% z původních 12 kB )
Do % je zahrnuta délka včetně dekomprimačního programu.
Některé možné úpravy:
---------------------
ADR - adresa na které je nějaká inplicitní hodnota
OLD - ona inplicitní hodnota
NEW - nová hodnota
IF PEEK(ADR)=OLD THEN POKE ADR,NEW
ADR : &BDF5 OLD : &00 NEW : &C9  -  v EXIT jen RET
      &BCD1       &14       &21  -  nahrávací rychlost
Tolik tedy k programu KOFIG-LZR. Příjemnou práci vám všem přeje
kolektiv "LZR Soft". S veškerými dotazy k programu KOFIG-LZR
se obracejte na Luďka Zimmermanna, šéfa LZR Soft. S veškerými
dotazy pro šéfa LZR Soft se obracejte na Romana Štece, mluvčího
LZR Softu.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Poznámka ke druhé verzi KOFIG-LZR (S) 10.26
-------------------------------------------
Program začíná na adrese &C000,což je zároveň adresa autostartu,
studeného i horkého startu. Horký start provádí konverzi druhé
obrazovky do režimu GII, stejně jako KOSCR-LZR, s tím, že umí
překonvertovat i MULTICOLOR. SHIFT+RESET a CTRL+RESET jsou od
sebe odděleny - mají každý jinou funkci. Při SAVE KOMPRESE
lze přímo zadat startovací adresu obrázku.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~