Gwilym Kuiper
|
a92a2f503c
|
Reduce maximum number of sound channels to 8
|
2021-10-30 21:16:32 +01:00 |
|
Corwin Kuiper
|
301e2c115a
|
fix tile ids
|
2021-10-30 20:33:54 +01:00 |
|
Corwin Kuiper
|
d0808cb7f2
|
added helpful functions
|
2021-10-30 18:38:57 +01:00 |
|
Gwilym Kuiper
|
6ed9b06b22
|
Ensure that the buffer size isn't actually the first instruction in add
|
2021-10-30 16:02:40 +01:00 |
|
Gwilym Kuiper
|
6ac3789d11
|
Export ChannelId
|
2021-10-30 15:38:59 +01:00 |
|
Corwin Kuiper
|
b492f3d43d
|
fix rect issue with touching
|
2021-10-30 12:24:43 +01:00 |
|
Corwin Kuiper
|
be44dbed3d
|
add useful derives
|
2021-10-30 10:12:45 +01:00 |
|
Corwin Kuiper
|
2838ea5f32
|
add more maths
|
2021-10-29 18:34:42 +01:00 |
|
Gwilym Kuiper
|
c6e7827e34
|
Add support for 18157Hz
|
2021-10-29 15:51:05 +01:00 |
|
Gwilym Kuiper
|
26620e850e
|
Have the constants only in one place
|
2021-10-29 15:51:05 +01:00 |
|
Gwilym Kuiper
|
46b40c8e5b
|
channel.data.len() = 2 * channel.pos
|
2021-10-29 14:29:22 +01:00 |
|
Gwilym Kuiper
|
5266e7a40c
|
Release agb v0.8.0
|
2021-10-28 22:28:45 +01:00 |
|
Gwilym Kuiper
|
c49952eff9
|
Reduce the length of the examples
|
2021-10-28 22:27:08 +01:00 |
|
Gwilym Kuiper
|
0a68eee3f9
|
Remove unused field
|
2021-10-28 21:48:22 +01:00 |
|
Gwilym Kuiper
|
e3a35a2eda
|
Release agb-sound-converter v0.1.0
|
2021-10-28 21:39:33 +01:00 |
|
Corwin
|
2391acb68d
|
Merge pull request #116 from corwinkuiper/nice-objects
Sane Objects!
|
2021-10-27 18:32:08 +01:00 |
|
Corwin
|
b7734726a6
|
Merge pull request #123 from gwilymk/stereo-sound
Stereo sound
|
2021-10-27 18:30:37 +01:00 |
|
Corwin
|
3f310b70a2
|
Merge pull request #119 from corwinkuiper/partial-backgrounds
possible iter for backgrounds
|
2021-10-27 18:30:25 +01:00 |
|
Gwilym Kuiper
|
1d38b75289
|
Reduce stereo mixing by 1 instruction
|
2021-10-26 23:09:50 +01:00 |
|
Gwilym Kuiper
|
9524b4b3c3
|
Loads of comments to explain what all the steps are doing
|
2021-10-26 22:25:35 +01:00 |
|
Gwilym Kuiper
|
050ee184b0
|
Add stereo sound example
|
2021-10-26 22:14:46 +01:00 |
|
Gwilym Kuiper
|
5bd656d8cb
|
Add support for stereo sound
|
2021-10-26 22:14:34 +01:00 |
|
Corwin Kuiper
|
ec0d4431ad
|
allow direct access to screen
|
2021-10-24 20:41:21 +01:00 |
|
Corwin Kuiper
|
f2c4354c1b
|
reduce to a byte array
|
2021-10-23 17:15:57 +01:00 |
|
Corwin Kuiper
|
713791b3fe
|
satisfy linter
|
2021-10-23 17:15:57 +01:00 |
|
Corwin Kuiper
|
8d0c50b37a
|
affines are referenced counted with the new RC arena(ish) implementation
|
2021-10-23 17:15:53 +01:00 |
|
Gwilym Kuiper
|
4f0b01b932
|
Add option to mark sound as stereo
|
2021-10-18 21:22:36 +01:00 |
|
Gwilym Kuiper
|
e92383e29c
|
Merge pull request #121 from gwilymk/agb-sound-converter
Agb sound converter
|
2021-10-18 21:19:31 +01:00 |
|
Gwilym Kuiper
|
eb26a21629
|
Attempt to make it so that the sound converter doesn't create too many tokens
|
2021-10-17 23:22:36 +01:00 |
|
Gwilym Kuiper
|
66e201ae39
|
Update example to use the new macro
|
2021-10-17 22:38:19 +01:00 |
|
Corwin Kuiper
|
d22e46f7e3
|
resolve some clippy lints
|
2021-10-17 22:08:33 +01:00 |
|
Corwin Kuiper
|
1541d514c9
|
possible iter for backgrounds
|
2021-10-17 21:59:57 +01:00 |
|
Gwilym Kuiper
|
6f804d884b
|
Release agb v0.7.0
|
2021-10-04 23:43:18 +01:00 |
|
Gwilym Kuiper
|
cc62ef72a7
|
Release agb-macros v0.1.0
|
2021-10-04 21:02:52 +01:00 |
|
Corwin Kuiper
|
df98f58c0e
|
fix clippy lints
|
2021-10-04 20:56:28 +01:00 |
|
Gwilym Kuiper
|
94309a2518
|
Merge pull request #113 from gwilymk/add-test-for-rust-bug
Add test that data_end is in the correct place
|
2021-10-04 20:38:54 +01:00 |
|
Corwin
|
3e94bd27ee
|
Merge pull request #101 from corwinkuiper/sane-backgrounds
Sane backgrounds
|
2021-10-04 20:34:12 +01:00 |
|
Gwilym Kuiper
|
a31efe7156
|
Add test that data_end is in the correct place
|
2021-10-04 20:15:34 +01:00 |
|
Gwilym Kuiper
|
25cca44b6b
|
Cargo fmt
|
2021-10-03 23:26:02 +01:00 |
|
Gwilym Kuiper
|
871d90c889
|
Special case mixer without multiplication
|
2021-10-03 23:00:43 +01:00 |
|
Corwin Kuiper
|
9192722f5a
|
fix build
|
2021-09-19 20:56:36 +01:00 |
|
Corwin Kuiper
|
f7c2118a40
|
start work on separating out background sizes
|
2021-09-19 20:17:50 +01:00 |
|
Corwin Kuiper
|
1ae3c34877
|
begin work on affine regular compatability
|
2021-08-28 23:02:35 +01:00 |
|
Corwin Kuiper
|
3d269c98fd
|
split blocks
|
2021-08-21 12:56:15 +01:00 |
|
Corwin Kuiper
|
63d880f083
|
no point checking if null and returning null
|
2021-08-21 12:03:30 +01:00 |
|
Corwin Kuiper
|
6523a3c6b8
|
free list allocator
|
2021-08-21 11:07:53 +01:00 |
|
Corwin
|
e5f331587f
|
Merge pull request #108 from gwilymk/simple-alloc-implementation
Simple alloc implementation
|
2021-08-18 00:04:40 +01:00 |
|
Gwilym Kuiper
|
6d11302725
|
Fix clippy lint in the allocator
|
2021-08-16 23:40:16 +01:00 |
|
Gwilym Kuiper
|
bec0cc6055
|
Make alloc an optional default feature
|
2021-08-16 23:32:31 +01:00 |
|
Gwilym Kuiper
|
469db77437
|
Add allocation example
|
2021-08-16 23:28:33 +01:00 |
|
Gwilym Kuiper
|
22189eb809
|
Add some more allocation tests
|
2021-08-16 23:20:51 +01:00 |
|
Gwilym Kuiper
|
b30cc7715c
|
Add really simple block reuse
|
2021-08-16 22:55:02 +01:00 |
|
Gwilym Kuiper
|
e80ad601a3
|
Extract current alloc to a new_block function
|
2021-08-16 22:33:56 +01:00 |
|
Gwilym Kuiper
|
d372ca74bf
|
Use the block allocator by default now
|
2021-08-16 22:31:10 +01:00 |
|
Gwilym Kuiper
|
4b9e4ce42a
|
Move tests to agb_alloc mod.rs
|
2021-08-16 22:28:41 +01:00 |
|
Gwilym Kuiper
|
7425e9973d
|
Add a really basic block allocator
|
2021-08-16 22:25:08 +01:00 |
|
Gwilym Kuiper
|
f2ce19c356
|
Switch to non-null
|
2021-08-16 22:24:32 +01:00 |
|
Gwilym Kuiper
|
a7a1cb3ecd
|
use super::*;
|
2021-08-16 21:20:52 +01:00 |
|
Gwilym Kuiper
|
c8ac436b84
|
Use constants rather than hard coded stuff
|
2021-08-16 21:20:29 +01:00 |
|
Gwilym Kuiper
|
81e9789272
|
Correctly handle OOM
|
2021-08-16 21:19:51 +01:00 |
|
Gwilym Kuiper
|
94d5a71007
|
Split out bump_allocator
|
2021-08-16 21:14:28 +01:00 |
|
Gwilym Kuiper
|
8a0cb86eda
|
Assert that it is actually in ewram
|
2021-08-16 21:11:40 +01:00 |
|
Gwilym Kuiper
|
cd4718f8c5
|
Remove the need for this to be mut and write it in a more 'rusty' way
|
2021-08-16 21:08:39 +01:00 |
|
Gwilym Kuiper
|
22c6efa5fa
|
Have a new() method
|
2021-08-16 21:07:25 +01:00 |
|
Gwilym Kuiper
|
2bacbf35dc
|
Extern definition can be made smaller
|
2021-08-16 21:04:37 +01:00 |
|
Gwilym Kuiper
|
7062610aba
|
Start a basic allocator with a super simple test
|
2021-08-16 21:02:55 +01:00 |
|
Gwilym Kuiper
|
1c07268f11
|
Include alloc
|
2021-08-16 21:02:36 +01:00 |
|
Gwilym Kuiper
|
a500c9dbb1
|
Make mutex new constant and reduce unsafe block size
|
2021-08-16 21:02:03 +01:00 |
|
Corwin Kuiper
|
87705514a7
|
Merge branch 'master' of github.com:agbrs/agb into affine-double-warning
|
2021-08-16 19:31:07 +01:00 |
|
Corwin Kuiper
|
4d45ca4203
|
remove warning
|
2021-08-16 19:31:04 +01:00 |
|
Corwin Kuiper
|
fe9461e5c5
|
redraw everything if there is no overlap
|
2021-08-15 23:40:57 +01:00 |
|
Corwin Kuiper
|
631bf2bae2
|
add collision function
|
2021-08-15 23:40:25 +01:00 |
|
Gwilym Kuiper
|
1b40fe2b03
|
Merge pull request #106 from gwilymk/half-multiplications-in-sound-mixing
Halve the number multiplications in sound mixing
|
2021-08-15 23:36:21 +01:00 |
|
Gwilym Kuiper
|
5d255fddea
|
Add asm_include.s to the rerun-if-changed in build.rs
|
2021-08-15 23:27:39 +01:00 |
|
Gwilym Kuiper
|
dffd57204c
|
Remove trailing space
|
2021-08-15 23:04:02 +01:00 |
|
Gwilym Kuiper
|
a2f0c43f26
|
Reduce the number of registers stored and used
|
2021-08-15 23:00:17 +01:00 |
|
Gwilym Kuiper
|
1be6dfbf36
|
Unwind loop 4 times
|
2021-08-15 22:36:32 +01:00 |
|
Gwilym Kuiper
|
0c48975fa0
|
Do 2 mulitplications at once
|
2021-08-15 22:18:02 +01:00 |
|
Gwilym Kuiper
|
a2da434013
|
Rename the directory
|
2021-08-15 20:39:17 +01:00 |
|
Gwilym Kuiper
|
4a6ef023f5
|
Rename agb-entry to agb-macro in cargo.tomls
|
2021-08-15 20:37:36 +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 |
|
Gwilym Kuiper
|
503b7262ca
|
May as well call this version 0.1
|
2021-08-07 16:45:08 +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 |
|
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
|
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 Kuiper
|
42647b7373
|
add println macro for mgba
|
2021-08-07 13:21:54 +01:00 |
|
Gwilym Kuiper
|
c265a95996
|
Release agb v0.6.0
|
2021-08-01 21:50:18 +01:00 |
|
Gwilym Kuiper
|
7229e9012d
|
Update agb's agb-image-converter to 0.6.0
|
2021-08-01 21:46:08 +01:00 |
|
Gwilym Kuiper
|
de360f5dbc
|
Merge pull request #95 from gwilymk/attempt-speedup-mixer-in-asm
Speed up the mixer by writing the core loops in ASM
|
2021-08-01 21:35:07 +01:00 |
|
Gwilym Kuiper
|
ac8e2dfe9d
|
Go back to the other way of addressing as they aren't equivalent
|
2021-08-01 21:29:44 +01:00 |
|
Gwilym Kuiper
|
ec65b18fd2
|
Make the str consistent with the ldr
|
2021-08-01 21:23:31 +01:00 |
|
Gwilym Kuiper
|
809d3f52ee
|
update the comment about what's kept between iterations
|
2021-08-01 21:01:59 +01:00 |
|
Gwilym Kuiper
|
cce3ecdde5
|
Use r9 rather than lr
|
2021-08-01 21:00:49 +01:00 |
|
Gwilym Kuiper
|
2db696f8bf
|
reuse r4
|
2021-08-01 20:59:01 +01:00 |
|
Gwilym Kuiper
|
18d96e4349
|
Update comments now I understand what's happening
|
2021-08-01 20:50:52 +01:00 |
|
Gwilym Kuiper
|
451f38604d
|
Add an explicit .pool at the end of the mixer
|
2021-08-01 20:45:57 +01:00 |
|