mirror of
https://git.planet-casio.com/Lephenixnoir/gint.git
synced 2024-12-28 04:23:36 +01:00
5ff1662e61
This commit improves the stability of gint_switch() in two ways: 1. Wait for hardware availability every time driver contexts are saved or reloaded; this solves crashes due to DMA use when gint takes control after a BFile call, since BFile_Create() (and possibly BFile_Write()) leave the DMA running after returning. 2. Remap the add-in after a switch, as apparently calling BFile functions causes some pages to be evicted. This is more noticeable on fxcg50 when the size of add-ins nears 220k. Additionally, dma_transfer_wait() has been updated to not sleep() unless it is certain that the conditions for wakeup are fulfilled, as this would sometimes freeze.
54 lines
2.3 KiB
Text
54 lines
2.3 KiB
Text
For the 2.0.0 release:
|
|
* bopti: remove image_t, leaving only bopti_image_t
|
|
* project: remove the compat branch
|
|
* gray: remove g*() functions
|
|
* core: remove the boot log
|
|
|
|
Crucial, missing things.
|
|
! core: the four basic memory functions (with automated tests)
|
|
! core: use gint_switch() to handle TLB misses
|
|
! core: recheck SH3 compatibility
|
|
|
|
Issues.
|
|
* #3 make drawing functions parameterized
|
|
* #5 add decent random number generation (TinyMT)
|
|
* #8 support fx-CG Manager
|
|
* #10 support fx-CG 20
|
|
|
|
Complementary elements on existing code.
|
|
* gray: add gprint()
|
|
* gray: double-buffer gray settings and unify d* with g*
|
|
* display: deprecate image_t and rename it bopti_image_t
|
|
* topti: support unicode fonts
|
|
* gray: find good values for more models than the Graph 35+E II
|
|
* dma: maybe relax the 4-byte size constraint for dma_memset()
|
|
* dma: fx9860g support (need to switch it on and update the Makefile)
|
|
* core: try to leave add-in without reset in case of panic
|
|
* hardware: fill in the HWMEM_FITTLB flag
|
|
* keyboard: think of extended functions
|
|
* cpg: spread spectrum on fxcg50
|
|
* display: use more of topti's assembler in drect()
|
|
* core: use cmp/str for memchr()
|
|
* r61524: brightness control and clean the file
|
|
* t6k11: check if dupdate() can be done by the DMA
|
|
|
|
Keep in mind.
|
|
* 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: invoke main menu instead of returning after main() ends
|
|
* prizm: don't hardcode stack address in fxcg50.ld
|
|
* prizm: detect P1 static RAM (stack) in TLB
|
|
* core rtc: use qdiv10 to massively improve division performance
|
|
* 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.
|
|
* A complete file system abstraction
|
|
* Integrate overclock management
|
|
* Audio playback using Martin Poupe's method
|
|
* Serial communication [SCIF] [SCIFA]
|
|
* USB communication [USB]
|
|
* Make fx9860g projects work out of the box on fxcg50
|