Super LoRes na ZX Spectrum Next
11. 8. 2026

Jak už je u mě zvykem, pracuji teď kromě jiného na několika projektech najednou – na věcech pro Forever, hrách 2048 a No Trust, NXPaintu, Calm Commanderu a samozřejmě také na Bow Commanderu, jehož novou verzi vydám během pár dnů. A právě z Bow Commanderu jsem se rozhodl vyseparovat textový editor a udělat z něj samostatný dot command .paper. Možná se ptáte proč. Odpověď je vlastně jednoduchá – přišlo mi to logické. Editor v Bow Commanderu už umí spoustu věcí a v nové verzi jich bude umět ještě pár navíc. Jako samostatný editor, který jednoduše spustíte z BASICu, má ale jednu nespornou výhodu: více volné paměti pro editovaný text.

.paper – malý šikovný textový editor pro esxDOS

Jak už je u mě zvykem, pracuji teď kromě jiného na několika projektech najednou – na věcech pro Forever, hrách 2048 a No Trust, NXPaintu, Calm Commanderu a samozřejmě také na Bow Commanderu, jehož novou verzi vydám během pár dnů.

A právě z Bow Commanderu jsem se rozhodl vyseparovat textový editor a udělat z něj samostatný dot command .paper.

Možná se ptáte proč. Odpověď je vlastně jednoduchá – přišlo mi to logické. Editor v Bow Commanderu už umí spoustu věcí a v nové verzi jich bude umět ještě pár navíc. Jako samostatný editor, který jednoduše spustíte z BASICu, má ale jednu nespornou výhodu: více volné paměti pro editovaný text.

PAPER je textový editor se 64 sloupci × 22 řádky textu, rozbalovací nabídkou, hledáním a nahrazováním a stavovým řádkem, který ukazuje, na kterém řádku právě jste, kolik místa vám ještě zbývá a zda máte v dokumentu něco neuloženého.

Žádná myš, žádné přepínání režimů, žádné čekání.

Jak PAPER pracuje s textem

Uvnitř drží PAPER celý dokument v takzvaném mezerovém bufferu neboli gap bufferu – stejné technice, na které stojí řada klasických textových editorů.

Bajty souboru jsou uložené jako [text před kurzorem][nevyužitá mezera][text za kurzorem], přičemž mezera je vždy přesně na pozici kurzoru.

Napsání nebo smazání znaku je proto operace s konstantním časem bez ohledu na velikost souboru.

Kde PAPER bere paměť

Dokument je uložený ve volné paměti samotného BASICu – v prostoru mezi koncem jeho pracovní oblasti a zásobníkem, který po dobu běhu dot commandu stejně leží ladem. PAPER si tuto mezeru při startu změří a zabere ji celou.

Proto vám čerstvě zapnutý stroj nabídne skoro 40 KB prostoru pro text a proto stejný build funguje na 48K i 128K Spectru, aniž by bylo potřeba sahat na stránkování paměti.

Do budoucna možná dodělám rozšíření paměti pro 128K. Ale popravdě – edituje někdo na ZX Spectru 120KB texty? Možná bude. A pak tu možnost dostane.

Požadavky
  • ZX Spectrum 48K nebo 128K, případně kompatibilní stroj. PAPER drží dokument ve volné paměti BASICu, ne ve 128K paměťové bance, takže je mu v zásadě jedno, na kterém modelu běží.
  • Rozhraní DivMMC nebo kompatibilní zařízení s esxDOS a SD/CF kartou či podobným úložištěm naformátovaným souborovým systémem, který esxDOS umí číst.
  • Nejméně přibližně 2 KB volné paměti. Na čerstvě zapnutém stroji je jí skoro 40 KB, s větším programem v BASICu se PAPERu přidělí prostě to, co zůstane.

PAPER si skutečný stav paměti při startu vždy změří a pokud je místa málo, řekne to rovnou, místo aby se později choval nepředvídatelně.

Instalace a spuštění

PAPER se distribuuje jako jediný esxDOS dot command s názvem PAPER bez přípony.

Stačí jej zkopírovat do adresáře /BIN na vašem esxDOS úložišti, tedy tam, kde máte ostatní tečkové příkazy.

.paper readme.txt – otevře soubor k editaci

.paper /docs/notes.txt – funguje i plná cesta

.paper "muj soubor.txt" – cestu s mezerou nebo dvojtečkou dejte do uvozovek

Pokud soubor neexistuje, PAPER začne s prázdným dokumentem a vytvoří jej až při uložení.

Název souboru je povinný. Samotné .paper pouze vypíše nápovědu k použití.

Po ukončení editoru se vrátíte rovnou do BASICu a stroj zůstane ve stavu, v jakém byl předtím.

Funkce
  • 64 sloupců × 22 řádků textu v úsporném písmu 4×8 bodů.
  • Uložení dokumentu v mezerovém bufferu – vkládání a mazání zůstává rychlé bez ohledu na velikost souboru.
  • Dlouhé řádky se zalamují přes tolik obrazovkových řádků, kolik potřebují, a stránkování počítá skutečné obrazovkové řádky místo logických.
  • Držené klávesy se automaticky opakují při psaní, mazání znaků i pohybu kurzoru. Příkazy se naopak záměrně neopakují.
  • Hledání, hledání dalšího výskytu a nahrazování.
  • Smazání celého řádku, na kterém stojí kurzor.
  • Skok o slovo vlevo a vpravo, skok na konec řádku a skok na začátek nebo konec souboru.
  • Uložit a Uložit jako, včetně zadání cesty ve stavovém řádku. Uložit jako zároveň přesměruje i další běžné ukládání.
  • Rozbalovací nabídka File / Edit / Go / Help jako alternativa k pamatování si všech zkratek.
  • Vlastní okno nápovědy se seznamem všech kláves.
  • Stavový řádek s číslem aktuálního řádku, počtem bajtů, které ještě lze napsat, a hvězdičkou při neuložených změnách.
  • Při odchodu s neuloženými změnami se PAPER zeptá, zda uložit, zahodit, nebo ukončení zrušit.
  • Zvuková odezva klávesnice.
Psaní
  • Písmena, číslice a mezera se píší běžně; velká písmena přes CAPS SHIFT.
  • SYM SHIFT dává interpunkci: ! @ # $ % & ' ( ) _ : ? / * , . ^ - + = " ;
  • ENTER – rozdělí řádek v místě kurzoru.
  • DELETE (CAPS SHIFT + 0) – smaže znak před kurzorem.
  • SYM SHIFT + D – smaže celý řádek, na kterém stojí kurzor.
Pohyb
  • CAPS SHIFT + 5 / 6 / 7 / 8 – vlevo / dolů / nahoru / vpravo. Při držení se pohyb opakuje.
  • CAPS SHIFT + 4 / 3 – stránka nahoru / dolů.
  • SYM SHIFT + Q / R – skok o slovo vlevo / vpravo.
  • SYM SHIFT + E – skok na konec aktuálního řádku.
  • SYM SHIFT + T / I – skok na začátek / konec souboru.
Hledání a nahrazování
  • SYM SHIFT + F – Hledat: napište text a stiskněte ENTER.
  • SYM SHIFT + G – Hledat další: zopakuje poslední hledání bez nového zadávání.
  • SYM SHIFT + S – Nahradit: zeptá se na hledaný i nahrazující text.

Hledání nerozlišuje velká a malá písmena. Klávesnice Spectra si za každé velké písmeno účtuje CAPS SHIFT a hledání, které kvůli tomu nic nenajde, je přesně ten druh věci, který spíš otravuje.

Nahrazující text se naopak vloží přesně tak, jak jste jej napsali.

Hledání začíná těsně za kurzorem a když dojde na konec dokumentu, pokračuje od začátku. Hledání dalšího výskytu tak prochází všechny výskyty dokola místo toho, aby skončilo u posledního.

Pokud text v dokumentu není, PAPER to oznámí a kurzorem nepohne.

Nahrazování se zeptá na oba texty a pak změní všechny výskyty od kurzoru do konce dokumentu. Nakonec oznámí, kolik náhrad provedlo.

Pokud chcete pracovat s celým souborem, stiskněte nejdřív SYM SHIFT + T.

Undo zatím k dispozici není. Na kartu se ale nic nezapíše, dokud dokument neuložíte, a odchod s neuloženými změnami stále nabízí možnost změny zahodit.

Soubory, nabídka a konec
  • SYM SHIFT + W – Uložit.
  • SYM SHIFT + A – Uložit jako.
  • CAPS SHIFT + 1 – okno nápovědy se seznamem všech zkratek.
  • CAPS SHIFT + ENTER – otevře rozbalovací nabídku.
  • BREAK (CAPS SHIFT + mezera) – ukončí editor nebo zruší aktuální dotaz či nabídku.
Omezení
  • Maximální velikost dokumentu závisí na tom, kolik je při spuštění PAPERu volné paměti. Na čerstvě zapnutém stroji je to skoro 40 KB, s programem v BASICu odpovídajícím dílem méně.
  • Hodnota Free ve stavovém řádku ukazuje přesný počet bajtů, které ještě zbývají. Při nule se psaní zastaví, místo aby paměť přetekla.
  • Soubor se načte jen tehdy, pokud se celý vejde do paměti a zbude po něm alespoň 256 bajtů. Větší soubor PAPER odmítne, místo aby jej potichu zkrátil.
  • Řádky odděluje samotné LF, tedy znak 10. Samostatný CR se přenáší beze změny, ale za konec řádku se nepovažuje.
  • Tabulátory se zobrazují jako mezery, ostatní řídicí znaky jako tečka. V souboru se ale obojí zachová přesně tak, jak bylo.
Snímek obrazovky 2026-08-16 115258

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *