Kalkulátory, editory, jednoúčelové utilitky na zpracování souborů, hlavolamy a podobně. Prostě všechno, co se nevejde do škatulek "jednotky" a "hry".
AlmostCAD 2007 - editor na vektorové obrázky (*.MAC) pro jednotku UMAC 3. Běží v 800x600 s kreslicí plochou 640x480, ale vizuální rozměry obrázku jsou omezeny prakticky jen rozsahem typu integer použitým na souřadnice. Formát MAC neobsahuje paletu, načíst ji můžete z externího souboru (*.PAL, viz program PaTvor 2) buď v dialogovém okně, nebo ho zadat jako druhý parametr programu (první parametr určuje MAC soubor k otevření, oba parametry jsou nepovinné).
Fotka zde.
Editor na fonty
- na tvorbu a editaci jednobarevných neproporcionálních rastrových fontů *.FNT pro jednotku VESA. Balík obsahuje i několik hotových fontů.
Na konverzi standardních CHR fontů do FNT jsem napsal tenhle progámek. Nic extra, ale základní tvary fontu celkem vystihne. Rastrový Defaultfont načte přesně a bez problémů, u vektorových počítejte s několika pokusy na nastavení parametrů převodu a následnou ruční úpravou v editoru.
Kurnik
- program na tvorbu a úpravy kurzorů pro jednotku Myš 4 (*.KUR). Pár kurzorů je u něj přibaleno.
Kompilátor definic kláves pro jednotku Klavesy2 - protože datlovat ASCIIkódy přes konstanty by bylo moc pracné a pro uživatele bez TP nepoužitelné, vytvořil jsem na to jednoduchý pseudojazyk, který pak tenhle program přeloží do formátu, jaký zmíněná jednotka potřebuje. Popis syntaxe je uveden na začátku souboru KOMPKLAV.PAS, přiloženo je i pár ukázkových souborů a samozřejmě spustitelný EXE.
PaTvor 2
- editor na 256barevné palety pro jednotku Paleta 2 (*.PAL). Umožňuje u každé barvy přímo měnit jednotlivé složky (červenou, zelenou a modrou), vytvářet plynulé přechody (gradienty) mezi barvami a hledat duplicity.
PGFE
- editor barevných proporcionálních rastrových fontů *.DAT pro hru Panzer General. Původně zamýšlený jako jednoúčelovka pro potřeby překládání PG do češtiny, ale stačí upravit ukládání, načítání a barevnou paletu a půjde využít i na jiné formáty. Uživatelské rozhraní je na moje poměry docela propracované, poprvé jsem ve velkém využil grafická tlačítka a dynamické přepínání jazyků.
Zdrojáky zde
(253 kB, komplet včetně jednotek a pomocných souborů),
fotka1,
fotka2.
U všech výše uvedených editorů se dá zadat jméno upravovaného souboru jako parametr programu, takže si třeba můžete příslušnou koncovku asociovat s editorem a datové soubory pak ve Windows otevírat dvojklikem.
- jediné novinky u výše uvedených editorů jsou překompilování s novou verzí jednotky Woknows (přesouvatelná dialogová okna) a doplnění chybějících datových souborů.
PaTvor - starší editor na 16barevné palety pro jednotku Paleta. Načítá a ukládá přímo z a do zdrojového kódu (*.PAS).
SAKS neboli Skládač A Konvertor Souborů. Určený je především pro textové soubory (hlavním cílem bylo automatizovat vkládání hlaviček a meníček do webových stránek), ale zvládne i binárky. Pracuje podle skriptu zadaného přes parametr a na jedno spuštění může zpracovat neomezené množství vstupů i výstupů. Navíc umí v souborech nahrazovat určité kódy zadanými hodnotami a zobrazovat nebo vynechávat vybrané části textu.
Porovnávač textových souborů - program, který řádek po řádku projde dva soubory a vypíše, čím se navzájem liší: které řádky přibyly, které ubyly, kde se jenom změnilo odsazení a kde došlo k úpravám textu. Navíc kolem každé nalezené změny vypíše i několik okolních řádků, aby se ve výpisu lépe orientovalo. Celkem užitečná věcička vhodná (a primárně určená) především pro porovnávání zdrojových kódů.
Program neobsahuje žádné interaktivní dialogy, ovládá se z příkazového řádku. V zipu najdete českou a anglickou verzi.
Převaděč BMP - program na převod souborů typu BMP z truecolor (24 bitů na pixel) do 256 nebo 16 barev (8 nebo 4 b/px). Funguje jenom na takové obrázky, které neobsahují víc různých barev než kolik se vejde do cílové palety. Výhodou je, že barvy zachová přesně a beze změny. Také umí převzít paletu z jiného obrázku nebo odfiltrovat pixely s RGB jinými než 0 nebo 255. Ovládá se přes parametry, takže jde integrovat do Windows.
Všechny grafické editory, které jsem kdy vyzkoušel, si při zmenšování bitové hloubky barvy nespočítají a vždycky rozjedou algoritmy na tvorbu palety, které všechny barvy trochu změní a zmenší jejich počet víc, než by bylo nutné. A právě proto jsem si napsal tenhle jednoúčelový prográmek.
Ořezávač BMP - další jednoúčelová utilitka na úpravy souborů typu BMP. V konfiguračním souboru si nastavíte, o kolik pixelů na kterých stranách chcete obrázky ořezávat, přes parametr zadáte soubor a spustíte. Program může oříznout buď jeden obrázek, nebo všechny, které v daném adresáři najde. Jako vstup bere pouze BMP v 24 bpp (truecolor). Oříznuté obrázky ještě navíc převádí do 16 barev (podobně jako předchozí prográmek). Jak tak koukám, zapomněl jsem to ve vysvětlivkách popsat, takže je to nedokumentovaná vlastnost :-).
Program byl původně určen k hromadnému ořezávání okrajů oken na screenshotech emulátoru terminálu 3270, kterých jsem do jedné prezentace potřeboval strašně moc, a ušetřil mi velkou spoustu práce.
Recoder - prográmek pro převod kódování české diakritiky v textových souborech (Latin 2, Windows 1250, ISO 8859-2 a další). Využívá funkce z jednotky Řetězce (viz sekci Unitky). Převádí POUZE písmena s českou diakritikou, nic jiného.
Měnič formátu konce řádků - dva prográmky na převod textových souborů z unixovského formátu LF nebo macovského CR na dosovský CRLF a naopak. Soubor se dá zadat buď v dialogu nebo jako parametr (takže si pak třeba můžeme v typech souborů ve Windows nadefinovat pro textové soubory akci "převést na CRLF").
Skládač - starší program na skládání souborů, určený především pro binární data. Je jednodušší než SAKS (neumí v souborech nic upravovat a má jenom jeden výstup), jediná výhoda je v tom, že umí vypsat pozice (ofsety), na které se jednotlivé soubory dostaly.
Řezník - program, který naopak umí rozkrájet soubor na libovolně malé kousky. Vstupní soubor a požadovanou velikost kousků zadáte buď jako parametry nebo z klávesnice. Výše uvedeným Skládačem můžete nakouskovaný soubor případně opět složit do původní podoby.
Vhodné např. pro přenos velkých souborů po disketách nebo po nekvalitní síti, když není po ruce vhodný archivátor nebo když potřebujeme nějakou nestandardní velikost.
Kill Read-Only! - když tenhle program spustíte, zruší všem souborům ve všech podadresářích od jeho aktuálního umístění atribut "jen pro čtení" (soubory ve stejném adresáři jako on ovlivněny nebudou). Zip obsahuje spustitelný exáč (pozor, na nic se neptá a rovnou pracuje) a až trapně krátký zdroják (všechno podstatné je v jednotce Disk).
Slideshow - miniaturní program pro postupné zobrazování obrázků ve formátu PCX v SVGA rozlišení, vhodný pro různé prezentace apod.. Úspěšně otestován při obhajobě diplomky :-). Návod k použití je uveden ve zdrojáku.
Prohlížeč obrázků - do třetice všeho jednoúčelového :-). Zalíbil se mi grafický formát CUT, který ovšem má jednu drobnou nevýhodu: jediný editor, který ho zvládá, je Paintshop. Ten je sice dobrý na úpravy jednotlivých obrázků, ale na rychlé procházení a prohlížení hromad sprajtů je nepoužitelný. Tak jsem si napsal tohle. Jméno obrázku se mu zadá přes parametr a on ho zobrazí a umožní procházet mezi dalšími obrázky ve stejném adresáři, podobně jako třeba IrfanView. Umí formáty CUT, PCX, BMP a ORF a prochází vždycky jenom ty koncovky, jakou měl ten vybraný obrázek.
Prográmek jsem psal dost prasácky na míru svému prostředí, takže si budete muset zdroják napřed trochu přizpůsobit. Proto ani nepřikládám zkompilovaný EXE. Jo, a ještě budete potřebovat font MSDFLT.FNT - stáhnout se dá s výše uvedeným editorem fontů nebo s jednotkou Woknows.
Grafák - program na kreslení grafů funkcí jedné nebo dvou proměnných (3D plochy kreslí v izometrické projekci) a hledání nulových bodů funkcí jedné proměnné (sháníte program na vyřešení nějaké odporně složité rovnice typu f(x)=0? Právě jste ho našli). Běží v rozlišení 800x600, mluví česky a anglicky (vybírá se to při prvním spuštění) a úrovní dokumentace by měl vyhovovat i základoškolákům bez znalosti programování. Fotky jsou
tady a
tady.
Mandelbrouk - zase jeden zobrazovač Mandelbrotovy množiny. Zajímavý je tím, že vykresluje ve čtyřech krocích a postupně zjemňuje rozlišení, takže přibližné tvary vidíme prakticky hned a i na pomalejších počítačích si tak můžeme zoomovat relativně rychle. Navíc se v něm dá za chodu míchat paleta z červené, zelené a modré sinusovky.
Běží v 256barevném rozlišení 640x480 (nebo jiném, když si to ve zdrojáku přepíšete) a ovládá se myší a klávesnicí (nápověda je na začátku a pak už ne, tak si ji dobře zapamatujte). Veškerá použitá teorie je popsaná ve zdrojáku.
Izometrie - víceméně úspěšný pokus o izometrické zobrazení stínovaného kopcovitého terénu. Jde jenom o technologické demíčko, praktické využití zatím neplánuji. Obsah: jedna procedurka pro generování krajiny a jedna pro vykreslení políčka. Ovládání: Escape končí, všechny ostatní klávesy vytvářejí náhodně umístěné kopce. 800x600, VESA.
Langtonův mravenec - malé demíčko na téma deterministického chaosu. Máme přísně deterministický matematický model "světa" kompletně popsaný dvěma jednoduchými pravidly, takže chaos v něm teoreticky nemá jak vzniknout. Skutečnost je ovšem poněkud jiná...
Program běží ve VGA grafice (rozlišení 320x200).
Následuje sbírka modelářských kalkulátorů. K prvním dvěma existuje samostatná windowsovská verze (v sekci Od vás), zbylé tři obsahují exáče pro DOS i Windows.
KuželMaker - prográmek na výpočty rozvinů plášťů komolých kuželů. Zadejte požadovanou výšku a průměry podstav kužele a on vypočítá potřebný tvar rozvinu pláště, který pak stačí narýsovat na papír, vystřihnout a slepit.
Cool Wheels - vlastně jenom rozšíření předchozího: počítá rozviny plastických boků pneumatik.
Válcořez - prográmek pro rozvinutí válce šikmo seříznutého rovinou. Výstupem je tabulka bodů, podle které si rozvinutý plášť narýsujete.
Průnikátor - rozvinutí pláště válce protnutého jiným válcem v obecné poloze. Narozdíl od tří předchozích exportuje výsledek přímo do tisknutelného obrázku typu BMP, kromě toho si také pamatuje minule zadané hodnoty.
Moták - a poslední počítadlo, které řekne, jak dlouhý proužek papíru budete potřebovat, aby po namotání na trn vytvořil váleček o daném průměru.
Počty
- prográmek na trénink ručního počítání v oboru přirozených čísel. Generuje dvojice náhodných čísel v zadaném rozsahu, mezi ně sype náhodně vybrané operátory (+-*/) a kontroluje, jestli zadáváte správné výsledky. Poskládáno narychlo pro vlastní potřebu (zaujal mě japonský soroban a zkouším, co se z něj dá vymáčknout), takže chybí ošetření chybných kláves, kontrola rozsahů, diakritika, počítání skóre za rychlost a přesnost a podobné zbytečnosti.
Ovládací rozhraní pro sériový port - jednoduchý prográmek, který zobrazuje stav přímo čitelných vstupních linek portu (DCD, DSR, CTS a RI) a umožňuje ručně přepínat výstupní linky (TXD, DTR a RTS). Nevyužívá sériovou komunikaci, pracuje jenom s okamžitými logickými hodnotami na drátech. Vhodný pro řízení různých elektronických udělátek (diody, relátka, měřicí obvody apod.) a jako základ pro složitější programy - celou řadu jich najdete v elektrotechnické sekci.
Sériový port podruhé - tenhle prográmek umí skoro totéž co předchozí (kromě přímého přepínání TXD) a navíc i sériovou komunikaci: přijatá data z RXD vypisuje na obrazovku a texty zadané z klávesnice odesílá na TXD. Moc jsem se s ním nepáral, takže číslo portu, parametry komunikace a formát výstupů jsou nakódované natvrdo ve zdrojáku - před spuštěním si je upravte podle potřeby.
Seřizovač hodin - pokud vám hodiny v počítači jdou "podle plotu" a nemáte možnost synchronizovat je přes internet, můžete odchylky kompenzovat touhle utilitkou. O kolik vteřin za kolik dnů se vaše hodiny předbíhají nebo zpožďují je jediná věc, kterou musíte změřit a zadat ručně, dál už všechno pracuje automaticky.
TXTCAP - rezidentní program pro DOS na ukládání screenshotů v textovém režimu. Největší problém je nereentrantní int 21h, kvůli kterému rezidenty nemohou normálně pracovat se soubory. Zkoušel jsem využít nedokumentované přerušení int 28h "DOS idle" (neúspěšně, vůbec se nevolá) nebo pověsit na int 21h něco, co by mi hlásilo, kdy je bezpečné ho z rezidentu zavolat (taky neúspěšně, int 21h nejde přesměrovat). Nakonec jsem problém obešel tak, že obrazovky ukládám jenom do paměti a zápis na disk nechávám na jiném programu.
Pozor: jde o experimentální výtvor bez záruky stability, jediným cílem bylo ten proces vůbec nějak rozchodit.
Sudoku - program na řešení sudoku. Používá vylučovací metodu a když ta selže, tak i pokus/omyl. Zatím jsem nenarazil na žádného sudoka, kterého by nedokázal vyluštit.
Nurikabe - program na řešení vybarvovacích hlavolamů nurikabe: několik nevybarvených "ostrůvků" o dané velikosti v souvislém vybarveném "moři", cílem je přijít na jejich tvar. Opakovaně zkouší několik různých taktik tak dlouho, dokud hlavolam nevyřeší nebo dokud všechny neselžou (druhá možnost nastává poměrně často, protože program nezvládá žádné složitější logické úvahy).
Osm královen - když už jsme u těch hlavolamů... Tenhle prográmek rozmístí osm královen na jednu šachovnici, aniž by se navzájem ohrožovaly. Algoritmus je jednoduchá hrubá síla.
Hlídač - jednoduchý prográmek zaznamenávající do souboru aktuální datum a čas. Když se nechá volat z Autoexec.bat, může sloužit ke sledování spouštění počítače.
Obrázek klávesnice. Občas je potřeba nakreslit na obrazovce klávesnici a třeba ještě některé klávesy barevně zvýraznit (např. když chceme uživateli názorně předvést, čím se něco ovládá). Technicky nic složitého, jenom spousta mravenčí práce, kterou si stažením tohoto souboru můžete ušetřit. Balík obsahuje dva programy: jeden z ručně naťukaných konstant vyrobí soubor s parametry kláves, druhý ho načte a všechno zobrazí.
Psáno kdysi dávno se staršími verzemi jednotek VESA a Klávesy, zdroják potřebuje aktualizovat.
Matrix monitor - textové demíčko. Po obrazovce se shora dolů plazí zelené sloupečky náhodných znaků - prostě kódovaný výstup z Matrixu, všichni to známe, ne? Použil jsem tu mimo jiné manipulaci s paletou (pro postupné mizení zobrazených znaků) a přímý zápis do videopaměti.
Ordtest - sice poněkud historický, ale stále užitečný prográmek na výpis ordinálních čísel ASCII tabulky a čtení kódů kláves.
Eddie 7.4
- editor na rastrové obrázky. Obsahuje nástroje tužka, štětec, sprej, plechovka, kopírování výřezu, text, čára, elipsa, obdélník, zoom a další. Načítá a ukládá do a z mého neoficiálního formátu *.OBR, který už nikde nepoužívám a nepodporuji, ale teoreticky není problém příslušné procedury přepsat.
Nechávám ho tu jen tak pro zajímavost. Časem možná napíšu něco lepšího.
Turbopad
(jakž takž funkční alfa verze, neručím za něj) - rozpracovaný superrychlý textovo-grafický editor. Šlo mi o vytvoření něčeho, v čem by se daly dostatečně rychle a pohodlně psát poznámky ve škole. Funkční základ je hotový, ale chybí spousta dost zásadních věcí, např. editace napsaného textu nebo řecká abeceda a matematické symboly. Jak to funguje? Vtip je v kurzoru, který funguje zároveň jako myší i jako textový. Kam umístíte myš, tam píšete a kurzor se normálně posouvá. Enter ho hodí pod začátek předchozího řádku, End na konec posledního napsaného (odkudkoli), šipky nahoru a dolů nastavují úroveň horního nebo dolního indexu (šipka doprava pak všechny indexy ruší), Backspace, Delete a šipky vlevo a vpravo fungují při psaní jako obvykle, ale jen v rámci jednoho řádku. Kreslí se kliknutím levým myšítkem (tím se od kurzoru začne táhnout čára) a ukončí se pravým myšítkem (tím se zadá poslední bod čáry). Ukládá se dost zvláštním způsobem - co stránka, to soubor, a co sešit, to adresář. Z použitého formátu dat se časem vyvinul MAC, se kterým pracuje AlmostCAD. Program jede ve standardní BGI grafice (Graph).
Na fotce vidíte část zápisků z jedné přednášky (musel jsem zmenšit rozlišení, aby to printscreen zvládnul, proto je napsaný text trochu ořezaný).
Zajímavé triky: integrování dvou BGI ovladačů a možnost nastavení rozlišení za chodu. Zbytek už je "jenom" piplačka.