Commit graph

566 commits

Author SHA1 Message Date
Corwin Kuiper
631bf2bae2 add collision function 2021-08-15 23:40:25 +01:00
Corwin Kuiper
2974711a38 update more 2021-08-08 00:01:58 +01:00
Corwin Kuiper
7708ccc4e1 remove unused import 2021-08-07 23:51:07 +01:00
Corwin Kuiper
36c6ab1914 correct the commit routine 2021-08-07 23:50:28 +01:00
Corwin Kuiper
0ccde7d328 satisfy linter 2021-08-07 18:41:28 +01:00
Corwin Kuiper
724147ecfa commit step required now 2021-08-07 18:20:08 +01:00
Corwin Kuiper
7798f4c95f nicer way of using mutable backing storages 2021-08-07 18:15:46 +01:00
Corwin Kuiper
d6b388e1d6 simplify the generics 2021-08-07 18:14:41 +01:00
Corwin Kuiper
6652bdbd70 make to generics 2021-08-07 18:14:05 +01:00
Corwin Kuiper
e176e986ad part way implementation of background 2021-08-07 18:14:02 +01:00
Corwin Kuiper
f9014a0bf9 started work on new background implementation 2021-08-07 18:12:49 +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