Přidáno: sysapps/helloworld.c
- nová appka s entrypointem void init(void)
- vypisuje text 'Hello, world!' přes aster_api_print
Upraveno/Odstraněno: nic
Přidáno: include/sysapps_runtime.h
- typ funkce sysapp_init_fn_t s podpisem void init(void)
- struktura sysapp_entry_t (name + entry)
- extern deklarace registru g_sysapps
Upraveno/Odstraněno: nic
Upraveno: kernel/main.c
- přidané napojení na runtime registr sysapps
- přidaná funkce run_sysapp_by_name()
- shell teď před chybou 'Neznamy prikaz' zkusí sysapp
- doplněná help hláška o příkazech ze složky sysapps
Přidáno/Odstraněno: nic mimo kernel/main.c
Upraveno: Makefile
- přidané hledání zdrojáků v sysapps/*.c
- přidané generování runtime registru sysapps
- přidané linkování registry objektu a sysapps objektů
- každá appka se kompiluje s přemapováním init na unikátní symbol
Přidáno/Odstraněno: nic mimo Makefile
Je tam výběr obtížnosti, velikosti pole, slow mode na P a víc tvarů.\n\nNení to ještě finální AAA hra, ale jako test frameworku je to už prakticky použitelné.
V implementaci API je teď app loop s FPS limitem, callbacky a helpery na kreslení textu, znaků, obdélníků a rámečku.\n\nJe tam i ochrana proti blikání VGA přes bezpečnější práci s barvami pozadí.
Do hlavičky API jsem přidal lifecycle věci (initial/update/draw/closing), klávesové konstanty a jednoduché render funkce.\n\nCíl je, aby se appky psaly fakt jednoduše a nemuselo se řešit milion detailů okolo.
Přidal jsem hromadu user-friendly funkcí do API (konzole, čas, paměť, vstup, procesy, AsterFS, string helpery), plus jsem to celé napojil i do syscall vrstvy, aby to drželo pohromadě i do budoucna pro user-space.\n\nDělal jsem to ve stejném stylu komentářů jako zbytek projektu a nechal jsem tam praktické helpery, které pokryjí většinu běžných app use-casů bez zbytečného boilerplate.