Commit Graph

461 Commits

Author SHA1 Message Date
Lephe 18e0db3886
usb: improve driver with updated knowledge and prepare reading
* Finish updating the register list
* Use RTC-based timeouts to not involve more interrupts
* Be a lot more conservative about PID=BUF
* Start setting up parameters and checking invariants for future
  bidirectional communications
2023-01-31 16:04:35 +01:00
Lephe cf2b86deaa
usb: update module details with register analysis experiments
Unknown writable bits and host-only registers were found.
2023-01-28 13:10:03 +01:00
Lephe db50c9b192
kernel: more options in System ERROR screen
* Add options to RESET, go to menu, or abort()
* Define weak symbols for driver functions so that low-level debugging
  add-ins can be linked with minimal drivers (CPU/INTC/MMU)
2023-01-25 22:38:39 +01:00
Lephe 42853103aa
usb: remove incorrectly-ordered bits in USB registers 2023-01-25 16:28:20 +01:00
Lephe c28d06002f
ld: add support for FastLoad config for circuit10's Add-In Push 2023-01-17 09:53:58 +01:00
Lephe ac6b1c7d70
ld: generate linker scripts; add fxcg50_fastload.ld 2023-01-15 01:36:28 +01:00
Lephe 45881995e9
fs: initialize dynamically-allocated fd table
Obvious oversight from 736b58f205.
2023-01-14 22:28:27 +01:00
Lephe 70dccc29da
style: initialize non-trivially initialized pointer
We always have c <= 15 but it's not structural enough that we can
outright skip initializing the pointer.
2023-01-14 22:28:18 +01:00
Lephe 7e859169fe
cpg: add overclock save/restore functions 2023-01-05 20:25:44 +01:00
Lephe b3416dcc25
cpg: add overclock for SH3/SH4 fx-9860G and G-III (#23)
Co-authored-by: Slyvtt <pillot.sylvain@gmail.com>
2023-01-05 20:02:41 +01:00
Lephe 736b58f205
reduce static user RAM footprint for mono targets
* Make INTC data const (it should've always been)
* Introduce GRODATA3/.gint.rodata.sh3 for that purpose
* Dynamically allocate file descriptor table
2023-01-01 19:22:41 +01:00
Lephe 478fdaea76
keysc: don't emit KEYEV_DOWN for keys pressed at startup 2023-01-01 18:49:50 +01:00
Lephe d3b29c50e6
defs: use C++ min/max when compiling in C++ mode 2023-01-01 18:49:13 +01:00
Lephe 1272a6a71a
scif: fix incorrect base module address 2022-12-20 22:27:35 +01:00
Lephe 723bae134b
serial: add template header for future implementation
Co-authored-by: Slyvtt <pillot.sylvain@gmail.com>
2022-12-10 15:27:38 +01:00
Lephe 3bc3892524
scif: add the SH7705 and SH7305 SCIF descriptions
Co-authored-by: Slyvtt <pillot.sylvain@gmail.com>
2022-12-10 14:41:30 +01:00
Lephe 211d236496
pfc: add the SH7305 PFC description
Co-authored-by: Slyvtt <pillot.sylvain@gmail.com>
2022-12-10 11:46:44 +01:00
Lephe a4cf3516e7
usb: fix some messages being lost after a post-world-switch reconnect 2022-12-03 11:05:35 +01:00
Lephe 177879d432
usb: add a USB_TRACE() debugging mechanism 2022-12-03 11:04:43 +01:00
Lephe feb74a38ec
usb: hide USB_LOG() behind a compile-time debug option 2022-11-29 20:03:03 +01:00
Lephe 3192078c4c
kernel: more detailed quit handler documentation 2022-11-27 22:57:50 +01:00
Lephenixnoir a5fb6d3401 Merge pull request 'Added SetQuitHandler syscall into gint' (#21) from mibi88/gint:dev into dev
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/gint/pulls/21
2022-11-27 22:50:10 +01:00
Lephe e2c507855f
render-cg: allocate VRAM in _ostk to keep _uram for large allocs 2022-11-26 18:38:09 +01:00
mibi88 813af222fd Merge branch 'dev' of https://gitea.planet-casio.com/mibi88/gint into dev 2022-11-20 11:48:37 +01:00
mibi88 984f162cb2 Added gint_set_quit_handler() 2022-11-20 11:48:26 +01:00
mibi88 6426406043 Fix typo 2022-11-20 11:48:26 +01:00
mibi88 2fe67412cc Added SetQuitHandler. 2022-11-20 11:48:26 +01:00
mibi88 f807b528bb Merge branch 'dev' of https://gitea.planet-casio.com/mibi88/gint into dev 2022-11-20 11:38:23 +01:00
mibi88 ad0da59de6 Added gint_set_quit_handler() 2022-11-20 11:38:17 +01:00
mibi88 56e5c2452a Added gint_set_quit_handler() 2022-11-20 11:36:57 +01:00
Lephe 8442e0b9cf
render: fix missed clipping test in dtext() 2022-11-19 23:41:47 +01:00
Lephe 5461d54083
ld: do not remove debug sections from ELF files
They are already removed by objcopy when converting to a flat binary
because they don't have the LOAD flag.
2022-11-19 23:05:57 +01:00
mibi88 386303136c Merge branch 'dev' of https://gitea.planet-casio.com/mibi88/gint into dev 2022-11-19 20:17:58 +01:00
mibi88 8a6f3bfdce Fix typo 2022-11-19 20:14:17 +01:00
mibi88 d6e8b096b5 Added SetQuitHandler. 2022-11-19 20:14:17 +01:00
Lephe 4df3d69d8c
render: add a window setting to restrict rendering
Mono text rendering is a bad hack and probably not that fast, but meh.
We can optimize it the day it becomes a bottleneck, if ever...
2022-11-19 17:19:28 +01:00
Lephe 74438f5da5
render: add a dgetpixel() function 2022-11-16 19:12:48 +01:00
Lephe 45fa6c87c2
render-cg: fix a bug with unaligned C_INVERT drect()
The alignment optimization would write the edges twice, which is fine
for opaque color fills, but cancels out for C_INVERT.
2022-11-16 18:10:22 +01:00
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