mirror of
https://git.planet-casio.com/Lephenixnoir/gint.git
synced 2024-12-28 04:23:36 +01:00
0afd05848a
- Define a draft of the video interface - Implement that dragt for CG for a single mode * Includes stub of brightness setting from disassembling 3.60 - Use the video interface to show visual feedback on GDB on CG Using the video interface avoids directly linking into a driver, which will serve modularity in gint 3.
66 lines
2.4 KiB
Text
66 lines
2.4 KiB
Text
Bugs to fix:
|
|
* render: figure out why fx-CG dclear() now takes 4.1 ms instead of 2.6 ms
|
|
|
|
Extensions on existing code:
|
|
* clock: mono support
|
|
* usb: and interrupt pipes
|
|
* fs: support RAM files
|
|
* fs: support USB streams as generic file descriptors
|
|
* fugue: support glob() to abstract away BFile entirely
|
|
* fugue/fs: offer a primitive to remove recursively, which is native in Fugue
|
|
* bfile: implement the optimization-restart as realized by Kbd2
|
|
* kernel: better restore to userspace before panic (ensure BL=0 IMASK=0)
|
|
* project: add license file
|
|
* kernel: group linker script symbols in a single header file
|
|
* r61524: brightness control and clean the file
|
|
* core: review forgotten globals and MPU addresses not in <gint/mpu/*.h>
|
|
* core: run destructors when a task-switch results in leaving the app
|
|
* fs: support read-only files backed with GetBlockAddress() on fx-CG
|
|
* kernel: SH4- or G-III-specific linker scripts?
|
|
* render: Properly document bopti fx. Also make it faster maybe?
|
|
|
|
Future directions:
|
|
* Audio playback using TSWilliamson's libsnd method
|
|
* Serial communication
|
|
* Make fx9860g projects work out of the box on fxcg50
|
|
* Base for Yatis' threads library
|
|
|
|
TODO:
|
|
* SPLIT CONFIG HEADER IN VARIANTS SO THEY DON'T CLASH WHEN INSTALLED
|
|
|
|
Bits that need to abstract out into APIs:
|
|
- display: Toggle backlight (or set level)
|
|
-> Have a backlight property with min/max values
|
|
@ getkey
|
|
@ justui jscene
|
|
- os: OS interface to access OS info, like in fxos
|
|
@ usb/setup.c set_strings
|
|
@ usb/classes/ff-bulk.c identify command
|
|
- render: current video mode
|
|
@ usb/classes/ff-bulk.c capture_vram
|
|
- gray: make gray engine a subset of t6k11 which then supports two modes
|
|
|
|
Video formats:
|
|
- i1msb
|
|
- 2i1msb
|
|
- rgb565
|
|
|
|
T6K11:
|
|
mode 0 : i1msb 128x64 @64 Hz
|
|
mode 1 : 2i1msb 128x64 @64 Hz
|
|
R61524:
|
|
mode 0 : rgb565 396x224 @? Hz
|
|
mode 1 : i3??? 396x224 @? Hz
|
|
mode 2 : i1msb 128x64 @? Hz # <- for g1a emulation :)
|
|
mode 3 : 2i1msb 128x64 @? Hz # <- for g1a emulation :)
|
|
|
|
enum {
|
|
/* Indexed 1-bit, 0 is white, 1 is black. Row-major, left-to-right, each
|
|
row a set of 4-byte values with leftmost pixel on the MSB. */
|
|
IMAGE_FORMAT_I1MSB,
|
|
/* Indexed 2-bit: white, light gray, dark gray, black. Represented as a
|
|
pair of I1MSB buffers, the first being bit #0, the second bit #1. */
|
|
IMAGE_FORMAT_2I1MSB,
|
|
/* 16-bit RGB565. Row-major, left-to-right. */
|
|
IMAGE_FORMAT_RGB565,
|
|
};
|