Well, it's a kind of documentation...
Obsah
Konstanty scan-kodu
Hlavni header TTY
Verejne (public) funkce TTY (pro Kernel)
Slouzi k premapovani polozek zprav na uzivatelsky pritulne. (message.mess_devio...)
Hlavni zdrojak, ktery "includuje" vsechny nasledujici ".inc" a v teto verzi obsahuje i funkci main() pro debugovani.
Obsahuje funkci tty_task(), coz je hlavni funkce tty_tasku, ktera prijima zpravy TTY a vola odpovidajici obsluhu.
Obsahuje funkci tty_init(), ktera slouzi k inicializaci tty_tasku.
Obsahuje funkci keyboard(), ktera je volana obsluhou preruseni INT9 (kernel) a slouzi k serializaci vstupu (bufferuje prijate scan-kody a posila zpravu "TTY_CHAR_INT" TTY_tasku) , a balicek opatreni pro ovladani klavesnice (LEDky, rychlost, etc.).
Obsahuje funkci make_break(), ktera prevadi scan-kod na ASCII.
Obsahuje funkci do_write(), ktera zajistuje vystup (zpracuje zpravu "TTY_WRITE" a zavola vystupni funkci tty_devstart()).
Funkci console() pouziva TTY pro obsluhu videokarty (tty_devstart()). Jednotlive znaky vypisuje pomoci funkce out_char().
Funkce out_char() kopiruje znak do vystupniho bufferu a stara se o zpracovani escape sekvenci.
Balik pomocnych funkci pro pristup na obrazovku (CGA: kopirovani znaku, pohyb kurzoru, hardwarovy scrolling, etc.).
Obsahuje funkci do_read(), ktera zajistuje vstup (zpracuje zpravu "TTY_READ" a vraci odpoved).
Obsahuje funkci in_char(), ktera zpracovava prijate znaky a odesila je zajemci.
Obsahuje funkci echo(), echovani znaku na vystup.
Ma slouzit k nastavovani parametru. Neni zcela dokoncena.
Ma slouzit ke zruseni pozadavku. Zcela nedokoncena. :-)
Funkce zabalujici systemova volani, ktera pouziva TTY task.
Obsahuje funkce emulujici zasilani zprav, styk s okolim a debug vubec.
tty1.bat
Spousti ukazkovy program s vypisem na obrazovku, nastavovanim barev, presunovanim kurzoru, scrollingem a pozastavenim vypisu.
tty2.bat
Spousti ukazkovy program pro testovani vstupu a escape sekvenci.
tty.exe
Vlastni testovaci program spousteny vyse zminenymi ".baty".
tty.prj
Projekt BC 3.1
To jsme my hasici!
Puvodni pseudosource dodany sefem projektu
(W)ritten by Vit Condak & Roman Sliva (without Ales Ulenfeld =)