################################ # ZX-Screen viever verzia 1.04 # ################################ Vseobecne ========= ZX-screen viewer je zobrazovac obrazkov ulozenych v specialnom formate grafickej obrazovky pocitaca ZX-Spectrum. Tento format sa jednoducho nazyva "6912", pretoze prave 6912 bajtov ma oblast pameti, v ktorej sa nachadza uzitocna informacia pre zobrazovanie obrazku, a format suboru "6912" znamena to, ze v tomto subore je ulozeny obsah tejto pameti. Avsak program umoznuje prezerat aj obrazky ulozene v dlhsich suboroch. Ak zadate offset, program nacita zo suboru 6912 bajtov az od pozicie danej zadanym offsetom. Je to uzitocne vtedy ak mate obrazok nie ako obycajny subor dlhy 6912 bajtov, ale vo formate nejakeho ZX emulatora, ktory si na zaciatok a na koniec suboru prilepuje nejake info-bajty. 6912 bajtovy obrazok sa sklada z dvoch casti: pixelovej a atributovej. Prva, pixelova cast je dlha 6144 bajtov, je to monochromaticka bitmapa obrazku, cosi podobne ako dvojfarebne subory *.bmp, druha cast, dlha 768 bajtov, to je cast atributova a urcuje ake farby budu mat bodky z bitmapy. V pripade ak je zobrazovany subor kratsi, alebo pri jeho citani sa narazi na jeho koniec skorej ako offset+6912, potom sa pixelova cast doplni nulami [cista plocha] a atributova cast sa doplni tak, aby to predstavovalo cierne pismo na bielom podklade (hodnota atributov = #38 (paper=7,ink=0)). Pri monochromatickom rezime zobrazovania obrazok vyzera tak, ako na skutocnom monochromatickom alebo ciernobielom televizore. Hodnoty R,G,B daneho bodu vtedy predstavuju trojbitove cislo ktore svojou hodnotou priamo urcuje jas daneho bodu. Vo formate 6912 nie je nikde ulozena ziadna informacia ktora by hovorila o tom, aku farbu ma mat okolie obrazku - border. Preto si uzivatel programu moze tento border nastavit tak, ako mu to k danemu obrazku najviac pasuje. Program na zaciatku automaticky nastavi taku farbu borderu, v akej farbe je najviac bodov, ktore sa dotykaju borderu. Vsetky zobrazovane odtiene farieb na obrazku (normalne aj so zvysenym jasom), ako i nastavena farba borderu presne zodpovedaju odtienom na ZX-Spektre. Vo formate 6912 sa tiez nenachadza absolutne ziadna informacia, ktora by ho nejak identifikovala alebo nejak inak urcovala ci je to obrazok alebo nejaky iny subor, ktory ma nahodou dlzku 6912 bajtov. Mozete si preto spravit taky experiment - vezmite si daky archivny subor [*.arj,*.zip,*.rar...] a podhodte ho tomuto vieweru. To co uvidite bude velmi zaujimave.... Ten archivny subor preto, lebo v archivnom subore su data obycajne skoprimovane a to sposobuje ze v tomto subore su totalne vseliake bajty a je mala pravepodobnost, ze by sa vyskytlo viac rovnakych bajtov za sebou alebo ze by sa pravidelne opakovali dake skupiny bajtov, ako tomu zvycajne byva pri nekomprimovanych obrazkoch. Syntax parametrov v prikazovom riadku ===================================== Spustenie programu bez parametrov vypise kratky oznam o vypise pomoci. Spustenie programu z prepinacom -? alebo /? vypise strucnu pomoc o syntaxi. A teraz si syntax preberme podrobne: zxsview argument1 argument2 argument3 ... Argument moze byt specifikacia suborov, alebo prepinac. Specifikacia suborov je [Disk:][Cesta]MenoSuboru, pricom v mene suboru mozu byt znaky hviezdicka a otaznik. Zobrazovat sa potom postupne budu vsetky subory, ktore vyhovuju danej specifikacii. Prepinace mozu zacinat znakom - alebo / (podla toho ako sa vam to paci viac). Za tymto znakom nasleduje jedno pismeno - prikaz prepinaca a potom za tymto prikazom prepinaca moze nasledovat parameter prepinaca. Prepinaci znak (- alebo /), prikaz prepinaca a parameter prepinaca musia ist bezprostredne za sebou a nesmu byt oddelene od seba medzerou. Ak je pismeno prepinaca jedno z A,C,H,I,F,B potom vyznam prepinaca je zapnutie/vypnutie funkcie zhodnej ako ovladacie klavesy. Parametre v tom pripade mozu byt 0 (vypnutie) 1 (zapnutie) alebo nic (prepnutie) funkcie. Ak je pismeno prepinaca O potom prepinac specifikuje offset, t.j. kolko bajtov v od zaciatku sa ma preskocit pri citani obrazku z dalsich suborov. Offset sa moze zadat dekadicky aj hexadecimalne. Hexadecimalne zadane cislo musi zacinat znakom '#' [ako obvykle], alebo znakmi '0x' [notacia jazyka C]. Samotny prepinac -O alebo /O bez specifikacie cisla znamena zrusenie offsetu pre nasledujuce subory (offset bude nulovy a subor sa bude citat od zaciatku). Vsetky prepinace a mena suborov su case insensitive, to znamena ze sa v nich nerozlisuju velke a male pismena. Ovladacie klavesy ================= Po spusteni, skontrolovani parametrov a prepnuti do grafickeho modu mozete pouzit tieto klavesy: Riadenie programu vseobecne: ENTER ... zobrazenie dalsieho obrazku (*) ESC ..... ukoncenie programu (*) F1 ...... zobraz pomocnu stranu (*) H ....... zapni/vypni pomocne riadky Riadenie zobrazovania farieb: 0-7 ... nastavenie farby borderu A ... zapnutie/vypnutie emulacie atributov vseobecne C ... farebny/monochromaticky rezim zobrazovania I ... normalne/inverzne zobrazovanie farieb B ... zapnutie/vypnutie emulacie zvyseneho jasu F ... zapnutie/vypnutie emulacie blikania Klavesy oznacene hviezdickou (*) mozno pouzit aj pocas vykreslovania obrazku na obrazovku (keby ste nahodou mali hodne naponahlo). Zobrazovanie pri vypnutej emulacii atributov prebieha tak isto, ako keby atributy mali hodnoty #38 (paper=7, ink=bright=flash=0). Pomocne riadky ============== Hore nad obrazkom a dole pod obrazkom su zobrazovane dva pomocne riadky, v ktorych su rozne uzitocne informacie. V hornom riadku sa zobrazuje meno suboru (bez disku a cesty) ktory je prave zobrazovany. Ak jeho citanie malo nenulovy offset, je zobrazeny aj offset (o:XYZ). Ak sa zo suboru nepodarilo nacitat celych 6912 bajtov, je zobrazeny aj skutocny pocet nacitanych bajtov (r:XYZ). No a na konci po napise F1=HELP je pozicia - poradove cislo daneho suboru voci celkovemu poctu suborov, ktore su pripravene na zobrazenie. V dolnom informacnom riadku su zobrazene stavy jednotlivych prepinacov A,F,B,C a I. Tieto stavy mozete menit prislusnymi klavesami.