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 |
|
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 |
|
Corwin Kuiper
|
c2d4c99f66
|
correct exportation of functions
|
2021-08-07 14:12:00 +01:00 |
|
Corwin Kuiper
|
2ff9644310
|
disable interrupts during the interrupt handler
|
2021-08-07 14:12:00 +01:00 |
|
Corwin Kuiper
|
dacdf51dca
|
remove unused debug counter
|
2021-08-07 14:12:00 +01:00 |
|
Corwin Kuiper
|
ebfd637300
|
satisfy linter by removing elidable lifetime
|
2021-08-07 14:12:00 +01:00 |
|
Corwin Kuiper
|
2cc0bee7c3
|
example first version of an interrupt handler implemented with closures
|
2021-08-07 14:12:00 +01:00 |
|
Corwin
|
8cd5055e80
|
Merge pull request #99 from agbrs/println-macro
add println macro for mgba
|
2021-08-07 14:10:50 +01:00 |
|
Corwin Kuiper
|
42647b7373
|
add println macro for mgba
|
2021-08-07 13:21:54 +01:00 |
|