MicroKernel

From F256 Foenix
Revision as of 14:34, 26 December 2023 by Gadget (talk | contribs) (Introduction to the MicroKernel with links to various projects.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The TinyCore MicroKernel github FoenixRetro fork is the kernel that is shipped with the F256 machines. It provides keyboard, mouse, and timer drivers, a SLIP/ICMP/UDP/TCP stack, and a unified file I/O system (IEC and SD) via an asynchronous (non-blocking) event-queue interface. It does not include a tty driver, but it does provide calls for blasting arrays of characters to the screen as would typically be used by full-screen text applications.

The MicroKernel is designed to provide background I/O for real-time games and applications; programs which don't want to deal with async I/O are, of course, free to just make calls and loop on the event queue until they complete.

  • The kernel's README.md contains extensive documentation.
  • The F256_Jr_Kernel_DOS project contains cc65 bindings (cc65 folder) and assembler examples (dos) for nearly all of the calls.
  • The F256_example_tcp project contains a minimal terminal program example which could be extended into a full-blown telnet program.
  • The F256_wget project includes a DNS client and a simple http client.

The MicroKernel is not compatible with an 816 CPU running in native mode. Emulation mode (the default) is fine :).