Commit graph

38 commits

Author SHA1 Message Date
Lephenixnoir
f11f6929b4 Merge pull request 'fxconv API accepts PIL.Image.Image' (#4) from Darks/fxsdk:master into master 2020-05-30 15:35:13 +02:00
Darks
b80f2a117a
fxconv API accepts PIL.Image.Image 2020-05-30 15:27:58 +02:00
Lephenixnoir
ce78d4814c
fxconv: add support for script mode (-s) 2020-05-30 12:17:06 +02:00
Lephenixnoir
c9dd9fad18
fxconv: add support for libimg images on fx-9860G 2020-03-15 12:11:32 +01:00
Lephenixnoir
c79b3b1a9d
fxconv: add suport for libimg images and deprecate --image
This commit introduces the libimg image format, selected with the option
type:libimg-image. To avoid confusion with the bopti image format,
options -i and --image are now deprecated and should be replaced with
--bopti-image or type:bopti-image. The fxSDK Makefile has been updated
accordingly.

To support the construction of a structure that contains a pointer in
fxconv, an assembly-code feature has been added. The structure itself is
assembled with as and then linked with the data proper. This allows the
structure to reference the data by name and have the pointer calculated
by ld at link time.
2020-03-11 19:37:27 +01:00
Lephenixnoir
b86b96aa4a
fxsdk: split additional libs into LIBS_FX and LIBS_CG
This is because several libraries have separate binaries, and so are
linked with different command-line arguments, just like gint is linked
with -lgint-fx on one side and -lgint-cg on the other.
2020-03-10 22:39:25 +01:00
Lephenixnoir
eeeb0fa6b1
fxos: remove fxos from this repository
The tool is now hosted on its own repository Lephenixnoir/fxos.
2020-02-19 23:33:14 +01:00
Lephenixnoir
b29eea1df0
build: fix a mising directory requirement 2020-02-19 23:22:11 +01:00
Lephenixnoir
3598f7c387
fxconv: implement support for the p4 and p8 profiles 2020-02-19 22:26:29 +01:00
Lephenixnoir
7d31294dc6
build: rewrite PREFIX in fxsdk.sh at compile-time
This makes it possible to change PREFIX at the last minute when running
install, effectively installing the files into a false packaging root
while retaining the same contents as if installed normally.
2020-02-19 22:26:29 +01:00
Lephenixnoir
e66035da44 fxsdk: use sh-elf by default in project.cfg 2019-11-29 10:46:22 +01:00
Lephenixnoir
7cc4199342
fxconv: be even smarter with toolchain/arch detection 2019-09-12 18:20:14 +02:00
Lephenixnoir
15712b4f5b
fxsdk: add an option to choose add-in output path 2019-09-12 15:38:15 +02:00
Lephenixnoir
46b19bab62
fxsdk: new build system 2019-09-12 14:34:26 +02:00
Lephenixnoir
d74785d34d
fxconv: add toolchain/arch/section command-line parameters
New parameters are:
* --toolchain: specify the target triplet (eg. "sh3eb-elf")
* --arch: specify the binary architecture (eg. "sh3")
* --section: specify the output section (eg. ".rodata")
2019-09-09 09:18:59 +02:00
Lephenixnoir
4f145cb202
fxsdk: add assembler compilation rules 2019-09-08 22:16:54 +02:00
Lephe
627fe14290
fxsdk: add update command and fix LD flag order 2019-09-03 23:23:24 +02:00
Lephe
e1ddf0f452 fxconv: code review and color image conversion
This change enhances the style of fxconv by using more classes and
generally more Pythonic constructions.

It also introduces image conversion for fx-CG 50, requiring the use
of --fx or --cg to specify the target machine with -i. The default
is set to --fx to maintain compatibility with older Makefiles.
2019-08-04 14:05:59 +02:00
Lephe
bf2eff80d2 vocabulary and formatting 2019-08-04 14:03:50 +02:00
Lephe
d022755c2a fxsdk: fix the source selection wildcard
Turns out make doesn't have /**/. Whatever.
2019-07-21 13:22:27 -04:00
Lephe
c11003eead fxsdk: detect source files recursively 2019-07-21 12:41:48 -04:00
Lephe
fae60c518c default project: fix stupidity (#2) 2019-07-05 08:54:29 -04:00
Lephe
67e80fc081 default project: use the short color names (#2) 2019-07-05 08:17:23 -04:00
Lephe
14bef439ab fxsdk fxconv: various improvements 2019-07-03 13:49:48 -04:00
Lephe
f8dc830adc fxconv: proportional fonts
Lost commit.
2019-07-01 10:45:58 -04:00
Lephe
dc58a4a036 add a README.md file 2019-06-29 17:29:45 -04:00
Lephe
ab3a9cd274 fxos: don't assume __VA_OPT__ is supported 2019-06-29 14:06:00 -04:00
Lephe
9be34ef9e5 make: change options for POSIX/Mac OS compatibility 2019-06-29 14:05:54 -04:00
Lephe
7efd917cf2 use a variant of <endian.h> on Mac OS 2019-06-29 09:43:32 -04:00
Lephe
5cdc20ed1f configure: proper shebang 2019-06-28 12:43:07 -04:00
Lephe
abcc5f07c9 fxsdk: add shortcuts and update help message (#1) 2019-06-16 19:47:19 -04:00
Lephe
eb6644b00b fxsdk: add smarter install commands (#1) 2019-06-16 19:32:32 -04:00
Lephe
c4f659071c fxsdk: add smart build commands (#1) 2019-06-16 19:21:07 -04:00
Lephe
32239c3dfe fxsdk: basic script, project creation and build (#1) 2019-06-16 11:58:30 -04:00
Lephe
86a9350a17 fxconv: minor fixes
* Explicitly convert to RGB to avoid errors with exotic formats.
* Don't pollute the user's /tmp directory for debugging purposes.
2019-06-16 00:16:47 -04:00
Lephe
25db504c22 fxos: bring disassembling to a new level
Almost-complete implementation of fxos, the disassembler in particular
is now able to detect syscalls and register addresses on the fly, plus
support for SH4-only instructions.
2019-05-03 11:19:36 +02:00
Lephe
ed8e199f47 fix: include <endian.h> for musl's static definitions 2019-03-22 14:49:27 +01:00
Lephe
d19025bbc9 fxsdk: initial push for gint v2 (WIP but mostly done) 2019-03-21 22:54:06 +01:00