D-Text (původně počeštěný Spectral Writer)
D-Text je editor s velice dlouhou historií. Původně byl vydán v roce 1984 jako Spectral Writer a jeho autorem je Gianluca Carri (UK). Ale protože v socialistickém Československu se na autorská práva pohlíželo jinak než na západě a protože mezi uživateli ZX Spectra byl o textový editor zájem ujal se Daniel Jenne konverze a počeštění někdy v roce 1986. Napsal k němu i manuál, který podle všeho byl napsán v samotném D-Textu. Další manuál napsal Ladislav Zajíček (-elzet-).
Já jsem se s D-Textem setkal až mnohem později, když se mi možná v roce 1994 do rukou dostala disketa s magazínem Bratislavského Betaklubu kde byl pro Betadisk upravený D-Text společně s texty článků. Tou dobou už jsem používal Proximácký Desktop, tak mi D-Text až tak moc neučaroval, ale přesto byl zajímavý a oproti jiným i relativně snadno ovladatelný a rychlý. A to jsem ještě netušil, jak se mi ho podaří zrychlit o 30 let později.
Proč?
Protože jsem chtěl jednoduchý textový editor, abych mohl pohodlněji psát na texty na svém plotru. Vzpoměl jsem si na D-Text, se kterým jsem si hrál například při pokusech s merkurovým plotrem Alfi. Jenomže jsem si neuvědomil, že to je tolik práce program nejenom disassemblovat do kompilovatelné podoby, ale hlavně pochopit. Pochopení a zdokumentování samo o sobě zabralo nejméně 2/3 času, ne-li mnohem víc. Trvalo mi to celý prosinec 2021.
Když jsem začal objevovat mnohé nedokonalosti a nedostatky programy, který pochází až z roku 1984, tak už se mi nechtělo s tím přestat. Investoval jsem do toho tolik úsilí, že se mi nechtělo ustoupit a začít totéž na možná kvalitnějším D-Writeru (původně The Writer), nebo na ještě lepším Text Machine, který dodnes znám jen z doslechu, protože je určený výhradně pro D40 a jiná verze dosud neexistuje. Navíc u D-Writeru si nejsem zcela jistý, že by to byl krok k lepšímu. Program pravděpodobně umí trochu víc, ale je zároveň hůř ovladatelný a pomalejší.
Jedním z lákadel, kvůli kterým jsem začal D-Text analyzovat byla domnělá jednoduchost a už hotová podpora Betadisku. Jenomže z jednoduchosti se na mnoha místech stala nedokonalost a podpora Betadisku není natolik provázaná s programem, aby se nedala doplnit i do jiného editoru.
Přesto to byla fascinující zkušenost. Odkrývat způsob práce programátora před 40 lety v kontrastu s pozdějšími znalostmi a v kontrastu s tím, že jsem program v roce 1994/1995 považoval za něco mnohem dokonalejšího, než opravdu je.
Výsledek analýzy
Výsledkem je v tuto chvíli okomentovaný a zkompilovatelný zdroják. Komentáře určitě nejsou všude správně. Během přepisování jsem objevil několik míst, která fungují jinak než jsem se domníval. Ale cílem nebylo mít perfektně zdokumentovaný zdroják k původní binárce. Cílem bylo mít kód který jsem mohl začít upravovat a přepisovat podle mé chuti a potřeb. Instrukce a data ve zdrojáku správně jsou, kompiler z něj vyrobí identickou binárku, jako byla verze D-Textu, který jsem začal analyzovat.
Přesto získaný zdroják původního D-Textu zveřejňuji, berte však komentáře s velikou rezervou.
Zdrojový kód mé verze programu bude komentovaný mnohem přesněji a správněji. Ale protože změny byly opravdu velké, vlastně z původního programu zbyly jen malé části kódu a to ještě na úplně jiných místech v paměti, než byly původně, tak určitě nebude použitelný k pochopení původní verze.
Jaké byly konkrétní cíle?
Cílů a plánů bylo mnoho, vypadaly jednoduše, ale natáhlo se to na víc než měsíc práce po večerech a o víkendech. Za nejdůležitější považuji.
- jednoduše ovladatelný editor prostého textu
- plná podpora Češtiny a pokud možno i Slovenštiny
- zachovat kompatibilitu s existujícími textovými soubory
- přizpůsobitelnost pro libovolnou tiskárnu
- pohodlné ukládání a načítání souborů
I s odstupem mnoha týdnů si myslím, že to sice byl bláznivý nápad, ale asi jsem jako vzor D-Text zvolil správně. Má své zvláštnosti, vyplývající např. z toho, jak je text uložen v paměti a jak se s ním pracuje po 64 znakových řádcích, ale v rámci schopností ZX Spectra je díky tomu docela použitelný. Dá se na něj zvyknout.
Aktuální stav?
V tuto chvíli stále ještě pracuji na své upravené verzi D-Textu, které se pozvolna blíží opět použitelnému stavu. Jakmile bude, tak si to nenechám pro sebe.
Download
- 2022-02-20_dtext-disasm.tar.bz2 - disassemblovaný a nahrubo analyzovaný Betadiskový D-Textu z roku 1994
- dtext-manual-djenne.tar.gz - manuál Daniela Jenneho k jeho D-Textu převedený do PDF jako OCRkovaný text (dříve se internetem potulovalo jen PDF z nascanovaných obrázků)
Související odkazy
- různé verze D-Textu na OldComp Wiki - verze nejbližší té, ze které jsem vycházel je asi "D-Text 1994 Betadisk "
- Spectral Writer na Spectrum Computing - editor, ze kterého D-Text vznikl lokalizací a dalšími úpravami Daniela Jenneho
- Spectral Writer na World Of Spectrum - editor, ze kterého D-Text vznikl lokalizací a dalšími úpravami Daniela Jenneho
- diskuze o D-Textu na OldComp.cz
Historie změn článku
- 2022-02-20 - Zveřejněna první část.