Commit graph

504 commits

Author SHA1 Message Date
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
Lephe
8210524152
ld: merge XRAM and YRAM into a single 16-kiB section 2022-05-04 19:08:54 +01:00
Lephe
26c5b76037
render-cg: round RGB16 images to even widths 2022-05-04 17:17:18 +01:00
Lephe
e57efb5e37
keysc: simpler keyboard device with more consistent repeats
* Stop trying to be smart and generate repeats on the fly; this breaks
  time consistency. Also if repeats are not handled in time this causes
  infinite loops.
* Move rarely-used functions to external files, simplify stuff, get rid
  of internal driver events; saves ~1 kB per add-in overall.
2022-04-23 13:34:41 +01:00
Lephe
0c2935055e
cpg: provide a function to recompute clock frequency 2022-04-15 21:08:37 +01:00
Lephe
fdadb0dd71
mpu: rename FRQCRA into FRQCR 2022-04-12 16:23:18 +01:00
Lephe
b10c065abe
mpu: update CPG definition
We should also rename FRQCRA to FRQCR.
2022-04-12 16:22:14 +01:00
Lephe
a3ce29b7b8
mpu: add BSC register definitions 2022-04-12 14:57:07 +01:00
Lephe
a7bcf6cd77
meta: mkg3a is no longer needed since fxgxa supports g3a 2022-04-11 11:12:25 +01:00
Lephe
4223164063
r61524: fix r61524_display() not fully honoring [start] 2022-03-23 20:42:37 +00:00
Lephe
93169e8803
render: fix drsize() skipping one byte past NUL
This would work if the string has double NUL, which is common enough
that this bug never came up before. x)
2022-03-22 18:48:06 +00:00
Lephe
2bf5dd93f4
bump version to 2.7.1 2022-03-19 19:27:53 +00:00
Lephe
f300338a57
fs: fix tracking of initial position with O_APPEND (*)
(*) O_APPEND is *not* functional yet, this is just a hack for write-only
streams. Currently O_APPEND does not reposition the cursor at the end of
the file before every write.
2022-03-19 19:26:23 +00:00
Lephe
48325fc54d
ld: exclude more debug sections (C++) 2022-03-19 19:26:05 +00:00
Lephe
36d66a6317
bopti: fix p4 stride omission from 1384c54b5 2022-01-18 13:50:04 +01:00
Lephe
d8b85a9fab
hardware: specify gint[HWRAM] = 8 MiB on the CG-50 2022-01-18 13:49:33 +01:00
Lephe
227c06631b
fs: buffer Fugue writes through RAM
Writing from ROM causes occasional crashes, which are fairly hard to
produce when the buffers are small.
2022-01-10 14:47:14 +01:00
Lephe
d6ada7f11f
ld: reserve stack space from the static RAM region 2022-01-10 14:47:14 +01:00
Lephe
8aea762e7a
fs: use a static variable in calls to BFile_Create()
There is no evidence that BFile_Create() keeps the address and writes
to it later on, but I'd rather be overly careful than have to debug a
stack corruption problem in half a year :)
2022-01-10 13:38:28 +01:00
Lephe
59a3b39fb4
dma: do not use ICS in foreign unbinds
I'm pretty sure it makes no difference because the OS does not rely on
interrupts for most (if not all) of its DMA operations, but it's better
to keep it clean anyway.
2022-01-10 13:36:57 +01:00