2016-08-29 11:29:07 +02:00
|
|
|
Bugs to fix:
|
2017-01-20 21:11:00 +01:00
|
|
|
- Alignment of ALL .data / .rodata files is required to ensure converted data
|
|
|
|
is properly aligned
|
2017-07-05 21:38:12 +02:00
|
|
|
- Unpreditcable crap happens when more than 10 keys are pressed simultaneously
|
|
|
|
- Ensure heap data is freed when a task-switch results in leaving the app
|
2016-08-29 11:29:07 +02:00
|
|
|
|
2017-04-13 21:59:13 +02:00
|
|
|
Things to do before 1.0:
|
2017-07-05 21:38:12 +02:00
|
|
|
- init: Move qdiv10() somewhere else
|
2017-04-13 21:59:13 +02:00
|
|
|
- bopti: Test partial transparency
|
2016-08-29 11:29:07 +02:00
|
|
|
- demo: Try 284x124 at (-60, -28) (all disadvantages)
|
2017-04-13 21:59:13 +02:00
|
|
|
- project: Check size of *all* library structures
|
|
|
|
- project: Clean headers that have some internal definitions
|
2017-07-01 16:07:14 +02:00
|
|
|
- project: Get rid of 7705.h (keyboard) and 7305.h (keyboard, gint)
|
2016-08-29 11:29:07 +02:00
|
|
|
- time: Compute CLOCKS_PER_SEC
|
2017-04-13 21:59:13 +02:00
|
|
|
|
|
|
|
Things to do later:
|
|
|
|
- bopti: Implement blending modes for monochrome bitmaps
|
|
|
|
- clock: Handle overclock (relaunch clocks when overclocking)
|
2017-04-22 21:59:39 +02:00
|
|
|
- core: Change interrupt priority using the gint API
|
2017-02-25 23:19:35 +01:00
|
|
|
- core: Register more interrupts (and understand their parameters)
|
2017-04-13 21:59:13 +02:00
|
|
|
- core: Remove redundant code linked to environment saves
|
|
|
|
- core: Review interrupt system (again) - this one is too slow
|
2017-02-25 23:19:35 +01:00
|
|
|
- errno: Introduce errno and use it more or less everywhere
|
2017-04-13 21:59:13 +02:00
|
|
|
- esper: Cleaner playback, synthesizing
|
2017-04-19 19:57:31 +02:00
|
|
|
- events: Allow customization of keyboard event system (option to return
|
|
|
|
| events with modifiers, etc)
|
|
|
|
- events: Generate keyboard events on-the-fly by reading state arrays,
|
|
|
|
| allowing both a faster interrupt and avoiding supressing other
|
|
|
|
| events inside getkey() and multigetkey()
|
2017-02-25 23:19:35 +01:00
|
|
|
- serial: Implement a driver
|
2017-04-19 19:57:31 +02:00
|
|
|
- stdio: More serious formatted printing functions
|
2017-04-13 21:59:13 +02:00
|
|
|
- string: Use cmp/str to implement memchr() (assembler examples)
|
|
|
|
- string: Do some tests for memcmp() and memcpy()
|
2017-02-25 23:19:35 +01:00
|
|
|
- usb: Implement a driver
|
2016-08-29 11:29:07 +02:00
|
|
|
|
|
|
|
Things to investigate:
|
|
|
|
- Registers that may need to be saved within setjmp()
|
2017-02-25 19:02:07 +01:00
|
|
|
- Optimizing core/gint.c leads to raising of an illegal slot exception when
|
|
|
|
running the interrupt handler, although it ends on rte; lds.l @r15+, mach,
|
|
|
|
which is totally not an illegal slot.
|
2017-07-05 21:38:12 +02:00
|
|
|
|
|
|
|
Possibly useful modules:
|
|
|
|
- DMAC
|
|
|
|
- SCIF, SCIFA
|
|
|
|
- TPU
|
|
|
|
- USB
|
|
|
|
- CMT on SH7305, WDT on SH7705
|
|
|
|
- ACD (SH7705 only)
|