mike na hračke

som spektrista

TE - textový editor pre PMD

2018-01-13 od mikezt

Keď som dostal od z00ma PMD 85-2A, ktoré zachránil zo Základnej školy v Krompachoch, začal som sa obzerať, ako ho aj nejako užitočne využiť. Postavil som si PMD32SD a keďže hry ma moc nebavili, začal som uvažovať, ako niečo naprogramovať. Keďže pre PMD32SD existuje systém Mikros, čo je klon CP/M v2, núdzou o programovacie prostriedky trpeť nebudeme. Čo sa ale ukázalo ako najväčší problém je textový editor. Ako som hľadal, nič poriadne som nenašiel. Buď sa editory nehodili na programovanie, alebo nemali i8080 verziu a legendárny Romborov editor je stále v nedohľadne. Takže zostala len Ikonova zásada - čo si na obskurnej platforme nenaprogramuješ, to nemáš.

Našťastie moje hladanie nebolo úplne márne a našiel som jednoduchý textový editor pre CP/M, napísaný v jazyku C. Editor sa volá TE a naprogramoval ho španiel Miguel Garcia. Portácia vyzerala na prvý pohľad jednoducho. V zdrojových súboroch sú platformovo závislé parametre uložené v samostatných súboroch, takže teoreticky by stačilo vytvoriť nový súbor pre PMD a editor preložiť.

Autor používa na preklad kompiler MESS, ktorý ale nemôžem použiť, lebo generuje Z80 kód. Preto som použil kompiler Aztec C, ktorý mal ale problémy s niektorými konštrukciami. Hlavný problém bol s príkazmi switch-case. Už si presne nepamätám, v čom bol problém, ale prepísanie do rady podmienok if funguje dobre.

Ďalší problém bol s konzolou PMDčka. V prvom rade PMDčko nevie príkazy na zmazanie celého riadku a časti riadku od kurzora napravo. Naviac, pri vpisovaní textu do prostriedku riadka, sa zvyšok riadka neposúval doprava s kurzorom, ale kurzor text prepisoval. Preto som pridal súbor crtcllin.asm s týmito rutinami. Nakoniec sa prejavovala zvláštna chyba, keď moje rutiny fungovali dobre, ale iba do polovice obrazovky. Potom sa začal zobrazovať bordel. Vysvetlenie bolo jednoduché - editor som skúšal v emulátore na PMD 85-3, ktoré má cez videoram primapovanú ROM. Stačilo pár OUTov, ktoré poradil Rombor a problém bol vyriešený.

te editor

Samotný editor si môžete stiahnuť z tejto stránky. Do menu s funkciami a helpom sa dostanete po stlačení klávesy K0 a môžete editovať súbor do veľkosti 512 riadkov. Keďže editor nevie editovať súbory s riadkami dlhšímy ako 48 znakov, je pribalená aj utilitka SPLIT, ktorá rozdelí vstupný súbor na riadky o dĺžke 48 znakov (dá sa zmeniť parametrom).

Dúfam, že editor bude pre Vás užitočný a teraz Vám už nič nebráni v programovaní nových vecí na PMD.




- 1 = jedna