Commit Graph

176 Commits

Author SHA1 Message Date
Lephenixnoir 3dc9f06219
fxlink: basic writing logic and 'test' command 2023-03-04 18:07:30 +01:00
Lephenixnoir 9d30377d90
fxlink: full rewrite; deeper device management and TUI
This commit rewrites the entire device management layer of fxlink on the
libusb side, providing new abstractions that support live/async device
management, including communication.

This system is put to use in a new TUI interactive mode (fxlink -t)
which can run in the background, connects to calculators automatically
without interfering with file transfer tools, and is much more detailed
in its interface than the previous interactive mode (fxlink -i).

The TUI mode will also soon be extended to support sending data.
2023-03-03 00:29:00 +01:00
Lephenixnoir d6ed47b133
fxsdk: add build-cg-push to default .gitignore 2023-01-19 21:35:22 +01:00
Lephenixnoir ae452c3bc2 Merge pull request 'Add fast push mode' (#10) from Heath123/fxsdk:dev into dev
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/fxsdk/pulls/10
2023-01-19 09:38:12 +01:00
Heath Mitchell 6849c1624e Add push mode 2023-01-17 23:05:38 +00:00
Lephenixnoir 7b2294d8c0
fxsdk: don't generate G3A in fastload, use bin 2023-01-17 10:13:11 +01:00
Lephenixnoir d91e6b7497
fxsdk: add build-cg-push command (no send yet) 2023-01-17 09:58:16 +01:00
Lephenixnoir dc522072e7
fxconv: honor section setting for ASM conversions 2023-01-15 16:32:51 +01:00
Lephenixnoir c9e9f347e4
fxsdk: GIMP icon template and new default icon 2023-01-02 17:56:25 +01:00
Lephenixnoir ebfde1f13d
fxlink: add reconnecting interactive mode (-ir)
This exposes how terrible the libusb code is. Future problem for now.
2022-12-03 13:34:06 +01:00
Lephenixnoir e31d053a08
fxsdk: handle parentheses in paths for fxgxa
Quotes are still impossible because CMake is unredeemable in that
regard.
2022-11-25 10:56:59 +01:00
Lephenixnoir 8c966821e8
fxconv: fix bad detection of fxconv-metadata.txt for relative paths 2022-11-05 18:44:33 +01:00
Lephenixnoir 1a443454c9
fxsdk: provide an FXSDK_TOOLCHAIN variable (= "sh-elf-") 2022-10-29 14:37:28 +02:00
Lephenixnoir db0a54dc25
fxgxa: add missing include 2022-10-04 22:09:30 +02:00
Lephenixnoir a1ee256ba5
bump version to 2.9.2 2022-08-29 21:21:32 +02:00
Lephenixnoir b8e2897560
fxsdk: add an OTHER_MACROS argument to find_simple_library() 2022-08-29 21:20:12 +02:00
Lephenixnoir 38ff1f765b
bump version to 2.9.1 2022-08-29 00:45:10 +02:00
Lephenixnoir 223cd31b6c
fxsdk: compatibility with CMake 3.24 2022-08-29 00:34:55 +02:00
Lephenixnoir 92316b9f5a
bump version to 2.9.0 2022-08-21 19:50:25 +02:00
Lephenixnoir aae8b951c0
fxsdk: add --no-warn-rwx-segments in linker options 2022-08-21 09:40:29 +02:00
Lephenixnoir daf1e865b3
update missing bits in README 2022-08-19 14:52:24 +02:00
Lephenixnoir 147ff08869
fxsdk: add sysroot, support for listdc++, README tutorial, LICENSE
This commit mainly introduces an almost-normal sysroot where the
compiler and libs will be installed. This is done in order to properly
build libstdc++-v3 from the GCC tree while also cleaning up the
slightly chaotic current install system.

* Add an `fxsdk --version` command
* Redo the README like a translation of the French topic
* Up default project to gint 2.9 to help get migrations right
* Add new `fxsdk path` command reporting important folders
* Add new CMake variables FXSDK_SYSROOT, FXSDK_INCLUDE, FXSDK_LIB so
  CMake can access the information of `fxsdk path`
* fxSDK is now in charge of removing the entire sysroot including the
  cross-compiler
* Add a LICENSE file
2022-08-19 14:38:19 +02:00
Lephenixnoir 4296ef0872
fxsdk: adjustment for #9 2022-08-03 21:52:58 +01:00
Lephenixnoir dd6cd3fcd4
fxlink: add a message if `cp` fails 2022-08-03 21:50:15 +01:00
Lephenixnoir 6032ce38cf Merge pull request 'Added a specific charset (extascii) to get access to 256 characters of the ascii table' (#9) from Slyvtt/fxsdk:slyvtt-patch-1 into dev
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/fxsdk/pulls/9
2022-08-03 22:51:13 +02:00
Sylvain PILLOT 2c0815077c Added a specific charset (extascii) to get access to 256 characters of the ascii table
Added the support of extended ascii table (char 128 and aboce up to 255).
2022-08-01 14:40:13 +02:00
Lephenixnoir 1a7939bbb9
fxsdk: fix long-standing typo in default .gitignore 2022-07-16 18:18:57 +01:00
Lephenixnoir a7046966da
fxconv: fix double object file size for RGB565 images 2022-07-16 17:23:14 +01:00
Lephenixnoir 00b85297a3
bump version to 2.8.0 2022-05-16 22:03:29 +01:00
Lephenixnoir e4289f6c4c
fxconv: remove alpha field of images 2022-05-14 12:54:18 +01:00
Lephenixnoir b29c494715
fxconv: rewrite image converter, forcing alpha value 2022-05-14 12:38:52 +01:00
Lephenixnoir 58cb14157d
fxconv: new image format (and libimg stride update) 2022-05-12 15:26:42 +01:00
Lephenixnoir 6fd943ea67
fxconv: simplify alpha assignment in P8/P4
* alpha is now the last color of the palette rather than always being 0.
* alpha is not materialized in the P8 palette.
* Fixed a bug where images with more than 32/256 colors being converted
  in P4/P8 with transparency would use all colors for opaque pixels,
  causing alpha to randomly land on a color index that is in use.
2022-05-07 17:54:20 +01:00
Lephenixnoir 6d2dcea900
fxconv: "p4" and "p8" now select best new format
Instead of p8 being the old p8 (which now doesn't display anymore!) and
p4 being p4_rgb565a.
2022-05-07 14:00:26 +01:00
Lephenixnoir 6788a7b5fe
fxsdk: round RGB16 images to even widths
This allows 4-alignment on the input to be preserved from line to line,
which is very valuable for rendering optimizations.
2022-05-04 17:16:33 +01:00
Lephenixnoir 27e60884c3
fxlink: generate blob names based on application/type 2022-05-01 18:56:52 +01:00
Lephenixnoir 5e004f989e
Cleanup for PR#8 2022-05-01 16:20:47 +01:00
Lephenixnoir cd9d669275
Merge PR #8 into dev 2022-05-01 15:36:16 +01:00
Sylvain PILLOT 6103d852d5 added -u, --unmount option to force unmounting the disk after end of operations 2022-04-20 18:07:58 +02:00
Sylvain PILLOT 85314f8310 change option name to -q, --quiet and improved code layout 2022-04-20 13:07:30 +02:00
Sylvain PILLOT 89ca11678c added --silent-mode and --fxlink-log options 2022-04-19 18:36:09 +02:00
Lephenixnoir c517447a02
fxsdk: finally implement the send-fx and send-cg commands 2022-04-15 10:53:56 +01:00
Lephenixnoir 2cc5d7ac5b
implement fxgxa and use it in both build systems 2022-03-20 19:58:11 +00:00
Lephenixnoir ec39aa5cde
move fxg1a/ -> fxgxa/ to prepare implementing fxg3a 2022-03-20 12:34:08 +00:00
Lephenixnoir 0fd94fd894
bump version to 2.7.1 2022-03-19 19:33:00 +00:00
Lephenixnoir 5feca5d2e1
cmake: allow single quotes in paths for generate_g3a() 2022-03-19 19:32:57 +00:00
Lephenixnoir e8c7084942
fxsdk: avoid quote in heredoc for Mac OS
Not sure what's happening here.
2022-02-18 10:47:25 +01:00
Lephenixnoir aa362c15f6
fxlink: don't use <endian.h> 2022-02-16 20:58:41 +01:00
Lephenixnoir 90d5e723e0
fxconv: explicit error when no metadata is set for a file 2022-01-28 19:07:53 +01:00
Lephenixnoir 41c7ac0aec
fxconv: allow custom-type to work as type 2022-01-28 19:07:38 +01:00