mirror of
https://git.planet-casio.com/Lephenixnoir/gint.git
synced 2024-12-28 04:23:36 +01:00
2fd4238d31
This change enables interrupts within timer callbacks, making it possible to load pages to MMU while handling a timer underflow. The call to TLB_LoadPTEH() has been moved directly into the VBR handler to avoid jumping to ILRAM for a short call on SH4. The TMU and ETMU handlers have been changed to callback through a new function gint_inth_callback() that saves the user bank and a few registers, then invokes the callback with interrupts enabled and in user bank; until now, callbacks were invoked with interrupts disabled and in kernel bank. Note that IMASK is still set so a callback can only be interrupted by a high-priority interrupt. A timer_wait() function has also been added to simplify tests that involve timers. Finally, the priority level of the TMU0 underflow interrupt has been set to 13 (as per the comments) instead of 7. This version is the first stable version that handles TLB misses transparently for large add-ins. It is suitable for every gint application.
44 lines
2 KiB
Text
44 lines
2 KiB
Text
For the 2.1.0 release:
|
|
* core: the four basic memory functions (with automated tests)
|
|
* bopti: remove the deprecated image_t definition
|
|
* project: remove the compat branch
|
|
* gray: remove g*() functions
|
|
* core: remove the boot log
|
|
|
|
Issues:
|
|
* #3 make drawing functions parameterized
|
|
* #8 support fx-CG Manager
|
|
* #10 support fx-CG 20
|
|
|
|
Extensions on existing code:
|
|
* bopti: try to display fullscreen images with TLB access + DMA on fxcg50
|
|
* gray: add gprint()
|
|
* gray: double-buffer gray settings and unify d* with g*
|
|
* topti: support unicode fonts
|
|
* gray: find good values for more models than the Graph 35+E II
|
|
* 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
|
|
* 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: invoke main menu instead of returning after main() ends
|
|
* prizm: don't hardcode stack address in fxcg50.ld (if possible)
|
|
* prizm: detect P1 static RAM (stack) in TLB
|
|
* core rtc: use qdiv10 to massively improve division performance
|
|
* core: document the SH7305 PFC in <gint/mpu/pfc.h>
|
|
|
|
Future directions.
|
|
* 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
|