Cygnus SIF Terminal

Úvod

SIF Term je velmi jednoduchý "Terminál", který vznikl z potřeby komunikovat se zařízením připojeným na RS232 interface SIF. Původním cílem rozhodně nebylo napodobit některý z linuxových terminálů, ani prastarou VT100, ale prostě jen vytvořit pohodlnější prostředí pro posílání příkazů do ConnectOne modulu (např. Nano Socket LAN a zobrazování jeho odezvy. Před napsáním tohoto programu existoval jen ukázkový program od autora SIFu napsaný v BASICu. Funkční leč nepohodlný a díky BASICu velmi pomalý. Doufám, že můj program je lepší.

Požadavky programu

Program je psaný pro ZX Spectrum 48k s připojeným SIFem. Měl by běhat na jakékoli konfiguraci.

Variant SIFu se nevyskytuje mnoho, ale pro jistotu je v programu možné přepnout základní komunikační port i na některou z dalších existujích variant. Např. pro Didaktik Kompakt bylo nutné port změnit, aby nekolidoval se zabudovanými periferiemi.

screenshot screenshot screenshot

Ovládání

K ovládání je možné používat KMouse, nebo lze program ovládat klávesnicí. Obojí pak usnadňuje několik klávesových zkratek.

Jako první se po spuštění zobrazí základní nastavovací menu s výběrem portu. Pro každý port je konfigurace samostatná. Po zvolení portu lze konfiguraci vybrat z přednastavených, někdy v budoucnu možná přidám i možnost ukládání a načítání bude-li zájem.

  • 1 = přepne na UART 1
  • 2 = přepne na UART 2
  • K = přepíná ovládání mezi KMouse a klávesami
  • H = zobrazí stručný help
  • I = zobrazí inicializační sekvenci OUTů pro SIF
  • E = exit, návrat do BASICu
  • T = spustí terminál
  • SPACE = uzavře podmenu, návrat do hlavního menu
screenshot screenshot

Terminál

Prozatím funguje neinteraktivní režim s příkazovým řádkem. Editovaný řetězec je odeslán přes RS232 až po stisknutí klávesy Enter. Do té doby ho lze libovolně upravovat. Řádek může být dlouhý až 254 znaků (omezení dáno 8 bitovým ukazatelem do bufferu), řetězec je ukončený kódem CR (13).

screenshot screenshot

Poslední verze už umí docela pohodlně pracovat s historií odeslaných příkazů, vracet se k nim, editovat a upravené znovu poslat. V některých situacích to je velmi užitečné.

Program si zatím pamatuje pouze 7 naposledy odeslaných příkazů a osmý v dosud neodeslaném řádku, ke kterému se lze vrátit. Není to mnoho, počet se dá mírně navýšit, ale šetřím pamětí pro budoucí rozšíření programu... zdrojáky máte k dispozici, ok?

Nově jsem přidal Scroll Lock režim ve kterém je pozastaven příjem nových dat ze SIFu, ale stále lze odesílat příkazy ven a je-li zapnuté echo, tak se i tato odeslaná data zobrazují. Scrollování tedy není zcela zablokované.

Nedostatky

Stále ještě chybí procházení historií přijatých dat, bylo by fajn mít možnost se podívat kousek zpět na už odscrollované řádky.

Chybí escapování znaků a možnost samostatně odeslat řídící kódy jako třeba Enter, nebo přímo číslem zadané kódy.

Chybí interaktivní režim s emulací VT100, nebo jiného skutečného terminálu, ale dosud jsem nenašel rozumné praktické využití, možná někdy až to budu skutečně potřebovat.

Chybí možnost ukládání dat na disk, nebo na pásku. V nouzi lze obejít návratem do BASICu a uložit data tam. Resp. lze to provést s historií zadaných příkazů a přednastavením RS232, přijatá data se zatím neukládají, jen zobrazují.

Download

[ Zpět na hlavní stránku ]

Tento web je převážně o ZX Spectru, kompatibilních počítačích a jiném zajímavém hardwaru. Naleznete-li chybu, nebo byste rádi cokoliv co s tímto souvisí, můžete mi napsat email. Stručně o mém webu zde.