Commit graph

523 commits

Author SHA1 Message Date
Lephe
5e35871c98
usb: add timeout variants for functions
We're not using them yet (specifically in fxlink) because timeouts
leave the pipes in undesirable states that currently end up crashing.
Some reset mechanism is needed, plus support from the protocol for
canceling messages, etc.
2022-11-13 08:56:59 +01:00
Lephe
5f9553f3b8
usb: fix transmissions resuming early after world switch
When the driver goes through a world switch a reconnection with the host
is needed before operations can resume. This requires usb_open_status to
be reset.

Also: bind a FIFO before a commit that involves data transfer, mirroring
what happens in writes. This ensures that PID is set to BUF, mainly.
2022-11-12 14:51:00 +01:00
mibi88
93e055cfba Fix typo 2022-11-11 18:04:38 +01:00
Lephe
d110ab608e
usb: fix freeze on sync commit for inactive pipes
Performing an asynchronous commit on an inactive pipe would yield
USB_COMMIT_INACTVE and *not* invoke the callback (as intended),
which usb_commit_sync() ignored, causing a freeze.

This issue appeared after a world switch, which (for reasons not yet
known) appear to fail the first writes until a commit, and that commit
would then hit an inactive pipe.
2022-11-11 17:47:29 +01:00
mibi88
45e90b55ba Added SetQuitHandler. 2022-11-11 17:06:36 +01:00
Lephe
bbda77769d
kmalloc: fix krealloc() not trying across arenas 2022-11-10 19:54:45 +01:00
Lephe
7b662987f8
kmalloc: add kmalloc_max() function 2022-11-09 21:35:32 +01:00
Lephe
252bd4eb41
keydev: add low-level filter for async keyboard handlers 2022-11-08 22:22:41 +01:00
Lephenixnoir
48db9bf09d Merge pull request 'Update Slim scancodes for the row unswap' (#20) from calamari/gint-slim:dev into dev
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/gint/pulls/20
2022-10-10 00:38:37 +02:00
calamari
1d5675c99f Update Slim scancodes for the row unswap 2022-10-09 11:00:53 -07:00
Lephe
16890ab71b
iokbd: don't swap rows; keydev doesn't need it 2022-10-09 18:19:25 +02:00
Lephe
c9df6326e4
reduce static RAM usage to maintain SH3 support 2022-10-09 18:15:12 +02:00
Lephenixnoir
97701e8eed Merge pull request 'Add fx-9860G Slim hardware detection and support to gint' (#18) from calamari/gint-slim:dev into dev
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/gint/pulls/18
2022-09-27 23:09:30 +02:00
calamari
a735e074d8 Clean up style mismatch 2022-09-25 11:23:07 -07:00
calamari
ddf340cccd Support gint_osmenu() on fx-9860G Slim 2022-09-25 10:37:41 -07:00
calamari
5c331e5fa0 Add isSlim() macro 2022-09-25 10:37:18 -07:00
calamari
98fea4f2ec Translate fx-9860G Slim keyboard scancodes to standard scancodes
The Slim has two keys that the standard 9860G doesn't: HELP and LIGHT.
Those are mapped to virtual scancodes, resulting in virtual keycodes.
2022-09-25 01:34:40 -07:00
calamari
a4adc5e1bd Support fx-9860G Slim backlight 2022-09-24 19:49:29 -07:00
calamari
b23ed9629e Add HWCALC entry for fx-9860G Slim 2022-09-24 19:48:07 -07:00
Lephe
2b4075c8f9
keysc: have getkey() sleep
This was embarassingly no longer the case since the move to the keydev
API.
2022-09-07 23:25:57 +02:00
Lephe
e95a91d5ab
minor API comment update 2022-09-07 23:25:57 +02:00
Lephe
3e5c45c5ad
kernel: make gint_setrestart() reset everything 2022-09-02 22:29:19 +02:00
Lephe
9924dc4684
fs: add rename() function on fx-CG 2022-08-22 15:25:14 +02:00
Lephe
4f9b141b79
bump version to 2.9.0 2022-08-21 20:12:34 +02:00
Lephe
02150d90e5
ld: properly link .bss.* sections 2022-08-21 20:11:45 +02:00
Lephe
126d1506ac
cmake: install in the fxSDK sysroot 2022-08-19 16:35:47 +02:00
Lephe
6ea2f991a3
keysc: make repeat settings global instead of just for getkey()
Having repeat settings only for getkey() meant that repeats that occur
while getkey() is not running (i.e., all of them) would be lost. This is
due to e57efb5e3 which replaced on-demand repeats with normal event
generation.

Now the settings are applied globally, which allows repeats to be
enabled even when getkey() is not active. This also reduces the feature
gap between getkey() and raw events, which reduces the risk of running
into edges cases by using both.

The previous API is retained for source compatibility until gint 3.0 but
the changes are now applied globally so the semantics are slightly
different.
2022-07-24 21:57:18 +01:00
Lephe
4e1136d0ac
r61525: now account for the inverted x-axis on the display (!)
Always has been.
2022-07-17 21:17:46 +01:00
Lephe
1c3c9727a5
r61524: add a r61524_display_rect() function for small regions 2022-07-16 22:30:59 +01:00
Lephe
e8b4bcc9cb
tmu: fix delay truncation in subfunction call 2022-06-13 21:36:52 +01:00
Lephe
b17d4de4a8
cpg: do read and write CS3 on fx-CG 10/20 2022-05-23 21:20:47 +01:00
Lephe
f69f92b938
cpg: fix parameter check minding CS3 on the fx-CG 10/20 2022-05-22 20:00:22 +01:00
Lephe
8c9c48a91e
bump version to 2.8.0 2022-05-16 20:13:13 +01:00
Lephe
291c3cef17
cpg: restore overclock settings when leaving 2022-05-16 20:13:13 +01:00
Lephe
b942bc5d19
clock: add overclock support on fx-CG 10/20/50 2022-05-15 19:20:14 +01:00
Lephe
c2ff07427b
image: add image_linear_alloc() 2022-05-15 13:45:59 +01:00
Lephe
09c13676d3
image: arbitrary linear transforms 2022-05-15 12:59:28 +01:00
Lephe
780acb3fc9
image: arbitrary linear transforms [WIP] 2022-05-14 22:32:59 +01:00
Lephe
818f950fff
image: flips, including in-place 2022-05-14 20:27:16 +01:00
Lephe
9468a8d725
image: clean up palette semantics, and conversion 2022-05-14 15:36:07 +01:00
Lephe
fc6f7d3051
image: remove alpha field of images 2022-05-14 12:54:59 +01:00
Lephe
5a69e44078
image: new image format and base for the image library 2022-05-13 23:31:03 +01:00
Lephe
7822899b1f
render-cg: fix incorrect margin size for VRAMs 2022-05-07 18:22:38 +01:00
Lephe
d2f788a3fc
render-cg: fix negative alpha values being miscompared in P8 2022-05-07 18:12:44 +01:00
Lephe
667f43b45c
render-cg: remove now-unused section of .effects field of image command 2022-05-06 16:52:05 +01:00
Lephe
ede19fc878
render-cg: restore bopti method on P4 and defined p4_clearbg_alt 2022-05-06 16:26:44 +01:00
Lephe
a4df076214
render-cg: replace dimage and dsubimage with new renderer 2022-05-04 20:53:56 +01:00
Lephe
7a3604ccbb
render-cg: allocate VRAM in the heap; default to double buffering
* Create a heap arena over the OS stack, large enough to hold two VRAMs
  as was previously done, unless GINT_NO_OS_STACK is set at compile
  time. (This replaces GINT_USER_VRAM.)

* Allocate a single VRAM in the heap at startup.

* Use double buffering by default as triple buffering is almost entirely
  useless. dudpate() waits if both VRAMs are identical to prevent
  corruption, but this can be bypassed with R61524 functions as usual.
  This adds about 180 kB of heap data to any add-in using default
  settings.
2022-05-04 20:08:52 +01:00
Lephe
f219e5c882
render-cg: add new image rendering functions with dynamic effects 2022-05-04 19:08:54 +01:00
Lephe
904ab74984
(minor) 2022-05-04 19:08:54 +01:00