KitFreeMiNT
A kernel module
Since FreeMiNT 1.16.0, XaAES is a loadable kernel module. The first entry point is xaloader.prg. This tool loads the xaaes.km file and run his main function.
Kernel module initialization
- init_km() - init.c
- setup the module API
- clear all data
- set log file
- init environment
- delete cookies FSEL and HBFS
- allocate window handles
- initialize objects
- allocate memory for Common data
- initialize lists for clients, applications and tabs
- load xaaes.cnf and configure settings
- check if mouse drivers are available
- setup the trap table
- initialize NKC
- setup language from LANG envvar or AKP cookie
- setup fonts
- load mouse driver
- create the main thread
- shutdown or reboot
Mouse driver
- mouse.adi
- mouse_w.adi
Low level facilities
- NKC
- Memory management, user and kernel
- Cookie management, read only and read/write
- Debug and diags
- Semaphores
- Drives, paths and files management