gint/TODO
lephe f33cb3cf80 core: better bootlog API and implementation
* Now uses topti instead of fxlib for text (including MMU failure)
* Fit .pretext into 4k for everything before MMU succeeds
* A short version of sprintf() for dynamic messages
* Support a driver function, status(), to allow early driver debug
* Expose more useful platform information in <gint/mpu.h>
* Expose the first of a few CASIOWIN syscalls
2019-03-06 14:32:51 +01:00

45 lines
1.8 KiB
Text

On the bootlog.
* Better review of .pretext to make sure everything fits in 4k
* Move topti to .pretext to use it in the bootlog, also update() and dclear()
* Use topti in the error message for the missing mappings (hurray o/)
* Use a serious formatted printing function
Crucial, missing things.
! core: the four basic memory functions
! core: build an exception handler and a TLB miss handler
! core: gint_switch() (driver contexts on stack; arbitrary code?)
Tests to run.
* core: run the alignment/size automated tests
* bopti: more sizes, gray
* topti: all charsets, colors
Completeness elements on existing code.
* keyboard: finish the interface
* clock: spread spectrum on fxcg50
* bopti: blending modes for monochrome bitmaps (use topti assembler)
* display: use more of topti's assembler in drect()
* core: use cmp/str for memchr()
* stdio: serious formatted printing function
* timer: try putting the definitions in <gint/mpu/tmu.h>
Keep in mind.
* keyboard: make keysc.c@state static and review globals in the project
* prizm: don't hardcode stack address in fxcg50.ld
* prizm: detect P1 static RAM (stack) in TLB
* core: prove and use qdiv10() instead of __sdivsi3
* setjmp: more registers may need to be saved
* core: free heap when a task-switch results in leaving the app
* core: save and restore interrupt masks
* timer: make sure ETMU interrupts are disabled in ctx_restore()
* core: document the SH7305 PFC in <gint/mpu/pfc.h>
Future directions.
* File management
* Gray engine
* Integrate overclock management
* A library for profiling with manual calls
* Audio playback using Martin Poupe's method
* Serial communication [SCIF] [SCIFA]
* USB communication [USB]
* Driver for the watchdog timer [WDT] [SH7705]