Implements DemOS core system services.
System provides:
- interrupt backup / setup / restore system
- standardized VBL routine
- 2 ring buffers:
- one for core system (never freed)
- another for transient demo screens data
- a bi-threaded system, mixed between cooperative (main => idle thread) and preemptive (idle thread => main)
- one main thread: task executed here should be sliced by frame / synchronized with VBL
At the end of main thread, main loop yield to idle thread background task with a call to SYSswitchIdle
- idle thread: executes a background task not synchronized with the VBL. The task is restored in its last state then it is interrupted by VBL rescheduling the main thread
- some simple synchronization primitives