gint-with-thread/TODO

38 lines
1.7 KiB
Plaintext

Extensions on existing code:
* project: add license file
* kernel: group linker script symbols in a single header file
* kernel: be consistent about *tlb_mapped_memory() in hw_detect()
* bopti: try to display fullscreen images with TLB access + DMA on fxcg50
* dma: fx9860g support (need to switch it on and update the Makefile)
* core: try to leave add-in without reset in case of panic
* core: use cmp/str for memchr()
* r61524: brightness control and clean the file
* core: review forgotten globals and MPU addresses not in <gint/mpu/*.h>
* build: make the build system simpler (two targets are enough by default)
* core: run destructors when a task-switch results in leaving the app
* core rtc: use qdiv10 to massively improve division performance
* topti: let the font specify letter and word spacing
* thread:
- provide better interface for thread creation:
- created thread is unable the be in zombie state
- created thread is linked to another thread (like a parent)
- provide interface for the idle thread
- allow menu-return
- allow custom idle handler
- provide better interface for the "main" thread:
- allow custom jmp_buff, which will overwrite the died thread's
context with the saved jmpbuf context and perform a
longjmp() with it.
- pseudo-preemption using pthread_yield() design(?)
- move the keyboard driver into a thread(?)
Future directions.
* A re-implementation of virtual timer
* A complete file system abstraction
* Integrate overclock management
* Audio playback using TSWilliamson's libsnd method
* Serial communication
* USB communication, using Yatis' reverse-engineering of the module
* Make fx9860g projects work out of the box on fxcg50
* Use the DSP to enhance parallel computation