Commit graph

2764 commits

Author SHA1 Message Date
Gwilym Kuiper
1241896177 Fix clippy lints in agb-entry 2021-08-07 16:51:14 +01:00
Gwilym Kuiper
bcfc8e506c Specify what has the arguments 2021-08-07 16:46:16 +01:00
Gwilym Kuiper
503b7262ca May as well call this version 0.1 2021-08-07 16:45:08 +01:00
Gwilym Kuiper
d74c876238 Add release script and workflow to release agb-entry 2021-08-07 16:43:50 +01:00
Gwilym Kuiper
739f81dd30 rename agb-entrypoint to agb-entry 2021-08-07 16:40:09 +01:00
Gwilym Kuiper
861ecc626a Use the new entrypoint macro in all the examples 2021-08-07 16:37:32 +01:00
Gwilym Kuiper
d2a4d0d1c3 Export the new macro in agb 2021-08-07 16:33:17 +01:00
Gwilym Kuiper
c59f063b2b Rename crate with an _ to be consistent with the image converter 2021-08-07 16:33:17 +01:00
Gwilym Kuiper
e6447cb08f Add a simple entrypoint macro 2021-08-07 16:33:17 +01:00
Corwin
b1516a07ab
Merge pull request #83 from agbrs/interrupt-handler
Fancy Interrupt handler with Closures
2021-08-07 15:41:48 +01:00
Corwin Kuiper
ff51341679 print in interrupt 2021-08-07 14:16:41 +01:00
Corwin Kuiper
477b0465fb add docs for vblank interrupt 2021-08-07 14:14:06 +01:00
Corwin Kuiper
fa250cee60 remove allow warning 2021-08-07 14:14:06 +01:00
Corwin Kuiper
b559b0eb54 add some docs 2021-08-07 14:14:06 +01:00
Corwin Kuiper
c60eaaaff0 doesn't need to be public 2021-08-07 14:14:06 +01:00
Corwin Kuiper
5093884612 move enable and disable to impl 2021-08-07 14:14:06 +01:00
Corwin Kuiper
476b030b41 rename wait for vblank functions 2021-08-07 14:14:06 +01:00
Corwin Kuiper
99f992353a fix wave example 2021-08-07 14:14:06 +01:00
Corwin Kuiper
da6ff40a32 add docs 2021-08-07 14:14:06 +01:00
Corwin Kuiper
1b971b8993 add lock with key 2021-08-07 14:14:06 +01:00
Corwin Kuiper
2e670c5d4e template consistency 2021-08-07 14:14:06 +01:00
Corwin Kuiper
00a5b2487c change to using extern in linker 2021-08-07 14:14:06 +01:00
Corwin Kuiper
013522f642 setting lto to thin works? 2021-08-07 14:14:06 +01:00
Corwin Kuiper
4467d0cf18 fix incorrect label from rebase 2021-08-07 14:14:06 +01:00
Corwin Kuiper
3b26c0b262 acknowledge requests after handling them 2021-08-07 14:14:06 +01:00
Corwin Kuiper
7b46bc9703 change name to "get" 2021-08-07 14:14:04 +01:00
Corwin Kuiper
37c29b7ec3 should enable interrupts by writing a 1 2021-08-07 14:13:23 +01:00
Corwin Kuiper
47f8ee5b70 satisfy linter 2021-08-07 14:13:20 +01:00
Corwin Kuiper
f8fb6ba7b4 change implementation of vblank to use new interrupt handler
also fixes all examples
2021-08-07 14:12:00 +01:00
Corwin Kuiper
7b05da4783 change name of interrupt handler
it is no longer simple
2021-08-07 14:12:00 +01:00
Corwin Kuiper
007d4d3ff8 handler does not need to be public to be exposed 2021-08-07 14:12:00 +01:00
Corwin Kuiper
f1a2b76d28 arm is callee save 2021-08-07 14:12:00 +01:00
Corwin Kuiper
e22564a29c disable interrupts during handler 2021-08-07 14:12:00 +01:00
Corwin Kuiper
9bab2a75d0 add macro for much easier interrupt handler adding 2021-08-07 14:12:00 +01:00
Corwin Kuiper
8b8b2b17a2 change to using iter 2021-08-07 14:12:00 +01:00
Corwin Kuiper
1ac33bfbc8 put interrupt handler in iwram, 32 bit bus 2021-08-07 14:12:00 +01:00
Corwin Kuiper
bd1f5f6a5a store gbatek recommended registers 2021-08-07 14:12:00 +01:00
Corwin Kuiper
ac5fd06106 add test for length of interrupt table 2021-08-07 14:12:00 +01:00
Corwin Kuiper
d607f892e3 change to array for efficient lookup table 2021-08-07 14:12:00 +01:00
Corwin Kuiper
a959e8e06b don't use register 4 2021-08-07 14:12:00 +01:00
Corwin Kuiper
47b02d29cf correct which way round locked and unlocked is 2021-08-07 14:12:00 +01:00
Corwin Kuiper
1318e7eca4 ensure mutex is unlocked before locking 2021-08-07 14:12:00 +01:00
Corwin Kuiper
a9aad11dd7 make interrupt system interrupt safe(r)
FnMut is not something that can be used in a interrupt safe manner.
Instead use Fn with a Mutex that disables interrupts with a lock.
2021-08-07 14:12:00 +01:00
Corwin Kuiper
a5488fab56 review of documentation suggests that this does nothing 2021-08-07 14:12:00 +01:00
Corwin Kuiper
f54a539296 use better calling convention 2021-08-07 14:12:00 +01:00
Corwin Kuiper
086a4385be correct comments to accurately reflect what is going on 2021-08-07 14:12:00 +01:00
Corwin Kuiper
466d0844c5 push all registers, as rust may be using them 2021-08-07 14:12:00 +01:00
Corwin Kuiper
597b9370fc don't disable and reenable interrupts 2021-08-07 14:12:00 +01:00
Corwin Kuiper
b98e6cbb02 add all other interrupts 2021-08-07 14:12:00 +01:00
Corwin Kuiper
30c5a0eea9 export interrupt module 2021-08-07 14:12:00 +01:00