GILHAD:
GILHAD:
GILHAD:
Tak už má můj FORTH i TUI (Text User Interface) - dá se v něm editovat příkazová řádka a spouštět všechna známá slova :)
Jinými slovy - už se s ním dá normálně uživatelsky komunikovat příčetným způsobem.
A celé to uživatelské rozhraní je napsané ve FORTHu (asi 25 "slov", jak říká funkcím, které se přeloží na asi 500 buněk (po 3bytech) plus hlavičky)
Celkově to má asi 2.5k řádků v asembleru s výrazným použitím maker a asi 300 řádků v C, kde tomu převážně nastavuju počáteční stav a vypisuju nějaké debugy.
Běží to na ATmega2560 mikrokontroleru (Arduino Mega) a zvládá to interpretovat asi 100.000 příkazů za sekundu
celkově to přeložené má asi 11kB kódu, používá to 1.355 bytů RAM a má to asi 100 "slov", 25 ve FORTHu a zbytek v asembleru
Tímhle jsem definitivně překročil hranici, mezi tím kdy si jen něco píšu a ono se to třeba i přeloží a mezi tím, kdy mám něco, co se dá ukazovat lidem a ono to počítá a poslouchá a píše po obrazovce :)
20 0 10 13 NEXTcounter CLS .h .h EMIT EMIT WORDS CURSOR_XY NEXTcounter .h .h 20 0 - souradnice pro CURSOR_XY
10 13 - odradkovani pro EMIT
NEXTcounter - pocet provedenych slov
CLS - smazani obrazovky (zbavim se ladicich vypisu pro cisla)
.h .h - vypis poctu provedenych slov
EMIT EMIT - odradkovani
WORDS - vypis znamych slov
CURSOR_XY - posun nahoru a doprava
NEXTcounter .h .h - vypis slov podruhe (mezitim co se prekladalo a ve slovniku hledalo vse od minuleho vypisu)