Gwilym Kuiper
|
d3c8480ce0
|
Write some docs for the mixer
|
2022-07-12 12:29:35 +01:00 |
|
Gwilym Kuiper
|
3f1f290791
|
Bring memset.s in line with latest agbabi
|
2022-06-24 21:19:52 +01:00 |
|
Gwilym Kuiper
|
fcbaacac1b
|
Update to the latest agbabi memcpy
|
2022-06-24 21:12:14 +01:00 |
|
Gwilym Kuiper
|
e08aaf6c7a
|
Reduce input and output offsets to 0..8 to half run time
|
2022-06-22 23:40:41 +01:00 |
|
Gwilym Kuiper
|
d053aa1707
|
Add a test for the non-word case
|
2022-06-22 23:38:36 +01:00 |
|
Gwilym Kuiper
|
6aa30462f9
|
Replace memcpy tests with a test which does all offsets for lots of sizes
Found a bug in agbabi with size 0, source offset 1, target offset 3
|
2022-06-22 23:31:23 +01:00 |
|
Gwilym Kuiper
|
16efca4b59
|
Add some tests for memset4
|
2022-06-22 22:33:56 +01:00 |
|
Gwilym Kuiper
|
cb5763ed53
|
Check sizes 0..80 in size with 0..10 offset for memset
|
2022-06-22 22:00:26 +01:00 |
|
Corwin
|
10eeeaf9e7
|
a test for agbabi memset
|
2022-06-21 02:00:29 +01:00 |
|
Gwilym Kuiper
|
5ca8cb8bf7
|
Use agbabi's fix for small copies / sets
|
2022-06-19 17:38:34 +01:00 |
|
Gwilym Kuiper
|
c9f1401ef3
|
Fix issue with small, misaligned copies
|
2022-06-19 13:03:44 +01:00 |
|
Gwilym Kuiper
|
a7d52bbed0
|
Add offset tests and failing test for both offetted by 1 byte
|
2022-06-19 12:24:55 +01:00 |
|
Gwilym Kuiper
|
39bef8f866
|
Add some basic agbabi tests for memcpy
|
2022-06-19 12:17:34 +01:00 |
|
Gwilym Kuiper
|
578b1eefa4
|
Delete decompile accidentally committed
|
2022-06-17 22:40:31 +01:00 |
|
Gwilym Kuiper
|
64fbf13cc3
|
Update gba_mb with the new requried references
|
2022-06-17 00:48:32 +01:00 |
|
Gwilym Kuiper
|
cb48325f21
|
Add README for agbabi
|
2022-06-17 00:40:17 +01:00 |
|
Gwilym Kuiper
|
4ac3939e9a
|
Add agbabi licence
|
2022-06-17 00:38:12 +01:00 |
|
Gwilym Kuiper
|
7e46cf6a1d
|
Remove the hack from the mixer
|
2022-06-17 00:32:07 +01:00 |
|
Gwilym Kuiper
|
8a8e8c011b
|
Make sure to reference the agbabi files so they are included
|
2022-06-17 00:30:33 +01:00 |
|
Gwilym Kuiper
|
2d90755090
|
Put everything in different sections
|
2022-06-17 00:30:33 +01:00 |
|
Gwilym Kuiper
|
601360ca67
|
Compile agbabi into agb
|
2022-06-17 00:30:33 +01:00 |
|
Gwilym Kuiper
|
149d2ec76b
|
Delete the archive file each time we run the build
|
2022-06-17 00:30:33 +01:00 |
|
Corwin
|
c5af151d76
|
Merge pull request #237 from corwinkuiper/split-asm
Split asm
|
2022-06-17 00:24:44 +01:00 |
|
Corwin
|
13df836b91
|
update multiboot linker
|
2022-06-16 23:38:07 +01:00 |
|
Gwilym Kuiper
|
90b5e39b42
|
Switch to using a single archive
|
2022-06-16 23:32:28 +01:00 |
|
Corwin
|
05adfabca8
|
get it working
|
2022-06-16 23:22:27 +01:00 |
|
Corwin
|
0be9da755c
|
split out assembly
|
2022-06-16 22:58:22 +01:00 |
|
Gwilym Kuiper
|
fbff538d92
|
Merge pull request #236 from gwilymk/document-tiled-mode
Add some doc comments to tiled mode
|
2022-06-16 22:58:03 +01:00 |
|
Gwilym Kuiper
|
efeaeeac4d
|
Finish off the comments in InfiniteScrolledMap
|
2022-06-16 22:42:16 +01:00 |
|
Gwilym Kuiper
|
de965e966f
|
Write some doc comments for InfiniteScrolledMap
|
2022-06-16 22:30:52 +01:00 |
|
Gwilym Kuiper
|
bc1bf3416c
|
Add some doc comments around the video struct
|
2022-06-16 22:30:26 +01:00 |
|
Gwilym Kuiper
|
21b8f12c03
|
Make the 32768Hz example print the timing to the gba screen
|
2022-06-16 21:36:48 +01:00 |
|
Gwilym Kuiper
|
9eb087ad60
|
Print the CPU usage for the stereo sound example
|
2022-06-16 21:32:16 +01:00 |
|
Gwilym Kuiper
|
24749ac645
|
Do the zeroing of the buffer in assembly
|
2022-06-12 17:53:39 +01:00 |
|
Gwilym Kuiper
|
33c948208a
|
Don't actually need to clear the buffer
|
2022-06-12 17:30:01 +01:00 |
|
Gwilym Kuiper
|
2ace226db8
|
Extract a function to do the clearing of the buffer
|
2022-06-12 17:26:16 +01:00 |
|
Gwilym Kuiper
|
4969672c73
|
Use hand written fast fill to save a few more cycles
|
2022-06-12 16:53:46 +01:00 |
|
Gwilym Kuiper
|
bec1a17cfd
|
This doesn't need the allow
|
2022-06-12 13:57:16 +01:00 |
|
Gwilym Kuiper
|
bbad55af65
|
Deny the stricter lints
|
2022-06-11 20:57:40 +01:00 |
|
Gwilym Kuiper
|
9759555e42
|
Remove cast_lossless because it isn't supported by bitfield
|
2022-06-11 20:56:48 +01:00 |
|
Gwilym Kuiper
|
ba35b85c81
|
Final clippy lint fixes
|
2022-06-11 20:56:05 +01:00 |
|
Gwilym Kuiper
|
bf9f298972
|
Fix some sound related lints
|
2022-06-11 20:51:41 +01:00 |
|
Gwilym Kuiper
|
062e8c8881
|
Fix some more linter errors
|
2022-06-11 20:48:18 +01:00 |
|
Gwilym Kuiper
|
1b393cd612
|
Fix new clippy lints in tiled
|
2022-06-11 20:40:12 +01:00 |
|
Gwilym Kuiper
|
f2e565f512
|
Take advantage of the fact that CriticalSection is Copy
|
2022-06-11 20:34:19 +01:00 |
|
Gwilym Kuiper
|
1edd7f4166
|
Add a bunch of new clippy lints
|
2022-06-11 20:27:08 +01:00 |
|
Gwilym Kuiper
|
b8cf5090cb
|
Make clippy warnings and let CI fail if there are issues
|
2022-06-11 20:17:37 +01:00 |
|
Gwilym Kuiper
|
e6f5494242
|
Use the syscall to do the memset because the default implementation is really slow
|
2022-06-11 17:22:29 +01:00 |
|
Gwilym Kuiper
|
4633fe7e3c
|
Set sound bias (which seems to make this work on hardware)
|
2022-06-11 16:53:39 +01:00 |
|
Gwilym Kuiper
|
3a419b05de
|
Improve timer API and use it
|
2022-06-11 16:44:29 +01:00 |
|
Gwilym Kuiper
|
d65fd5d740
|
Don't require the 32kHz frequency for interrupts
|
2022-06-11 16:22:28 +01:00 |
|
Gwilym Kuiper
|
3bd85c7d7c
|
Get correct song name
|
2022-06-11 16:11:18 +01:00 |
|
Gwilym Kuiper
|
879a4f5270
|
Unroll the loop a bit
|
2022-06-11 16:10:58 +01:00 |
|
Gwilym Kuiper
|
5f7a1007a2
|
Triple buffer the sound to avoid skipping
|
2022-06-11 16:08:00 +01:00 |
|
Gwilym Kuiper
|
7d8890b03e
|
32768 example
|
2022-06-11 15:46:10 +01:00 |
|
Gwilym Kuiper
|
a4c696ad33
|
Build a special version of 'frame' for freq32768
|
2022-06-11 13:23:39 +01:00 |
|
Gwilym Kuiper
|
c709455e3d
|
Add defines for freq32768
|
2022-06-11 13:19:56 +01:00 |
|
Gwilym Kuiper
|
42d3455abf
|
Avoid duplicating the feature flag definition
|
2022-06-11 13:19:52 +01:00 |
|
Gwilym Kuiper
|
73d6dc448f
|
Add new frequency option
|
2022-06-11 13:05:30 +01:00 |
|
Gwilym Kuiper
|
0a9a3fdf1d
|
Remove timer field to mixer
|
2022-06-11 12:57:59 +01:00 |
|
Gwilym Kuiper
|
b7bc27403e
|
Remove pointless 'a
|
2022-05-12 20:28:10 +01:00 |
|
Gwilym Kuiper
|
93ed4b87e8
|
Merge pull request #226 from gwilymk/another-audio-performance-improvement
Another audio performance improvement
|
2022-05-04 21:05:55 +01:00 |
|
Gwilym Kuiper
|
4d2ad8859b
|
Add a comment explaining the improvement
|
2022-05-04 20:56:39 +01:00 |
|
Gwilym Kuiper
|
4a06acba6b
|
Allow volumes to be a lot higher and check that clipping is handled
|
2022-05-04 20:42:32 +01:00 |
|
Gwilym Kuiper
|
abfbf6a454
|
Use the renamed register names
|
2022-05-04 20:36:06 +01:00 |
|
Gwilym Kuiper
|
0ec3c499cb
|
Just use range push and pop
|
2022-05-04 20:27:41 +01:00 |
|
Gwilym Kuiper
|
a0b28176c6
|
Use .rept rather than defining a macro
|
2022-05-04 20:25:55 +01:00 |
|
Gwilym Kuiper
|
863abe1d42
|
Only load SWAP_SIGN once
|
2022-05-04 18:08:15 +01:00 |
|
Gwilym Kuiper
|
8ec839f181
|
Be more consistent with instruction use
|
2022-05-04 18:07:01 +01:00 |
|
Gwilym Kuiper
|
b02cdd9233
|
Calculate 127 + sample earlier
|
2022-05-04 18:06:11 +01:00 |
|
Gwilym Kuiper
|
3fea9aada0
|
Somehow reduce clamp_s8 by 1 instruction
|
2022-05-04 17:58:24 +01:00 |
|
Gwilym Kuiper
|
0229b95d7c
|
Move macro definition
|
2022-05-04 16:59:17 +01:00 |
|
Gwilym Kuiper
|
73b8530240
|
Reduce register usage
|
2022-05-04 16:58:46 +01:00 |
|
Gwilym Kuiper
|
3b9909ad5b
|
Add comment about how silly the implementation of gba_offset is
|
2022-05-03 23:43:08 +01:00 |
|
Gwilym Kuiper
|
2853d34b30
|
Correctly render different sized backgrounds and make HTTW have
pointlessly different sized backgrounds to test it properly
|
2022-05-03 23:42:11 +01:00 |
|
Gwilym Kuiper
|
5211781429
|
Rename rem_euclid functions
|
2022-05-03 23:23:55 +01:00 |
|
Gwilym Kuiper
|
be650779e6
|
Correctly allocate screenblocks
|
2022-05-03 23:23:25 +01:00 |
|
Gwilym Kuiper
|
ae65af4ca2
|
Make rem_euclid_* return a u16
|
2022-05-03 23:03:23 +01:00 |
|
Gwilym Kuiper
|
817e1e305e
|
Add rem_euclid_*_px for pixel calculations
|
2022-05-03 23:00:31 +01:00 |
|
Gwilym Kuiper
|
4d3d2acd3b
|
This should always be 32
|
2022-05-03 22:55:50 +01:00 |
|
Gwilym Kuiper
|
5513c8566f
|
Replace calls to rem_euclid with unknown denominator with simple &
|
2022-05-03 22:46:01 +01:00 |
|
Gwilym Kuiper
|
fae71bfbca
|
Fix all the examples
|
2022-05-03 22:29:51 +01:00 |
|
Gwilym Kuiper
|
4f2eddb367
|
Actually set the correct flag
|
2022-05-03 21:51:00 +01:00 |
|
Gwilym Kuiper
|
cc57dcf649
|
Fix compile errors
|
2022-05-03 21:48:08 +01:00 |
|
Gwilym Kuiper
|
384a5bc887
|
Remove a bunch of hard coded widths and heights
|
2022-05-03 21:46:32 +01:00 |
|
Gwilym Kuiper
|
d514aafad4
|
Pass through the size
|
2022-05-03 21:34:41 +01:00 |
|
Gwilym Kuiper
|
5dd0c61808
|
Derive normal stuff on an enum
|
2022-05-03 21:30:32 +01:00 |
|
Gwilym Kuiper
|
288fa0c85e
|
Add an enum for tracking background size of regular tiles
|
2022-05-03 21:28:32 +01:00 |
|
Gwilym Kuiper
|
06f701af75
|
Merge pull request #224 from gwilymk/print-warnings-for-assembler
Print warnings for assembler
|
2022-04-26 22:27:31 +01:00 |
|
Gwilym Kuiper
|
94f66f74b1
|
Fix warning in assembly
|
2022-04-26 22:16:56 +01:00 |
|
Gwilym Kuiper
|
c3bfe83f6b
|
Collect warnings to print them
|
2022-04-26 22:15:32 +01:00 |
|
Gwilym Kuiper
|
0761132779
|
Range of a signed byte is -128 - 127...
|
2022-04-26 21:22:50 +01:00 |
|
Gwilym Kuiper
|
921e2e9adf
|
Calculate 32-bits at a time, since we're storing into IWRAM
|
2022-04-26 21:17:07 +01:00 |
|
Gwilym Kuiper
|
245cafa599
|
Calculate 2 samples per loop
|
2022-04-26 21:08:22 +01:00 |
|
Gwilym Kuiper
|
260f664c36
|
Extract to macro
|
2022-04-26 21:04:33 +01:00 |
|
Gwilym Kuiper
|
61ed2b905d
|
Allow warnings when developing, but still fail CI
|
2022-04-24 17:07:43 +01:00 |
|
Gwilym Kuiper
|
563138937e
|
Fix set_background_palette (not sure why dma wasn't working)
|
2022-04-23 23:26:47 +01:00 |
|
Gwilym Kuiper
|
178db91072
|
Add gc step for tiles
|
2022-04-23 23:03:02 +01:00 |
|
Gwilym Kuiper
|
7688316034
|
Add a gc step in commit
|
2022-04-23 22:58:25 +01:00 |
|
Gwilym Kuiper
|
a562a4f600
|
Print frame which shows issue
|
2022-04-23 22:48:05 +01:00 |
|
Gwilym Kuiper
|
85c3287680
|
Run clippy on examples and tests
|
2022-04-23 21:03:37 +01:00 |
|
Gwilym Kuiper
|
1593c0e8b6
|
Move clippy deny to config.toml and fix warnings
|
2022-04-23 17:10:29 +01:00 |
|
Gwilym Kuiper
|
a32bb2125b
|
Remove deny clippy::all from lib.rs to ensure it always builds for users
|
2022-04-23 16:26:42 +01:00 |
|
Gwilym Kuiper
|
fb197d3e79
|
Store font data more compressed
|
2022-04-23 15:42:08 +01:00 |
|
Gwilym Kuiper
|
1b71ef6473
|
Add test for font output
|
2022-04-23 15:33:57 +01:00 |
|
Gwilym Kuiper
|
6485cc895a
|
Extract method
|
2022-04-23 14:34:34 +01:00 |
|
Gwilym Kuiper
|
fec4015978
|
Remove hash map lookup for every pixel rendered
|
2022-04-23 14:30:46 +01:00 |
|
Gwilym Kuiper
|
6d0f95c21b
|
Merge pull request #214 from gwilymk/random-number-generator
Random number generator
|
2022-04-11 22:20:16 +01:00 |
|
Gwilym Kuiper
|
dc62ba4467
|
Rename rng::next to rng::gen
|
2022-04-11 22:07:31 +01:00 |
|
Gwilym Kuiper
|
f304412053
|
Use unsigned_abs to satisfy clippy
|
2022-04-11 21:15:17 +01:00 |
|
Gwilym Kuiper
|
d56e4d5888
|
Correctly remove dynamic tiles if not committing a text renderer
|
2022-04-07 23:07:58 +01:00 |
|
Gwilym Kuiper
|
dc4ccee451
|
Add a commit method for text_render
|
2022-04-07 23:01:01 +01:00 |
|
Gwilym Kuiper
|
5701667f53
|
Avoid overwriting text on the line above
|
2022-04-07 22:56:28 +01:00 |
|
Corwin
|
f7ef25f3f0
|
Merge pull request #209 from corwinkuiper/z-ordered-sprites
Z ordered sprites
|
2022-04-07 22:46:26 +01:00 |
|
Corwin
|
859029a7a9
|
delete sprites during commit
|
2022-04-06 23:55:13 +01:00 |
|
Gwilym Kuiper
|
82c5ebf426
|
Use a core::fmt::Write instead
|
2022-04-06 21:13:57 +01:00 |
|
Gwilym Kuiper
|
a0013096cc
|
Remove argument
|
2022-04-05 23:43:35 +01:00 |
|
Gwilym Kuiper
|
f3c467c2f1
|
set_background_palette seems inconsistent between release and debug mode :/
|
2022-04-05 23:39:06 +01:00 |
|
Gwilym Kuiper
|
45e18d5cc7
|
Use a better example font which isn't monospace
|
2022-04-05 23:35:18 +01:00 |
|
Gwilym Kuiper
|
5c24e4089a
|
Minimise generated dynamic tiles by using a hashmap
|
2022-04-05 23:11:32 +01:00 |
|
Gwilym Kuiper
|
22f89ed9e2
|
Return the bounding box
|
2022-04-05 23:03:56 +01:00 |
|
Gwilym Kuiper
|
1f65f94ee3
|
Support rendering multiple lines
|
2022-04-05 23:03:10 +01:00 |
|
Gwilym Kuiper
|
8a1a433f99
|
Replace returning number of lines printed to x width
|
2022-04-05 22:49:34 +01:00 |
|
Gwilym Kuiper
|
6bea61bb7a
|
Update the dynamic tiles example
|
2022-04-05 22:48:03 +01:00 |
|
Gwilym Kuiper
|
2c2931fa97
|
Handle the height of letters correctly
|
2022-04-05 22:44:32 +01:00 |
|
Gwilym Kuiper
|
e7e35f8ad8
|
Take xmin into account
|
2022-04-05 22:35:45 +01:00 |
|
Gwilym Kuiper
|
a6f5cc9ec1
|
Render some text
|
2022-04-05 22:32:11 +01:00 |
|
Corwin
|
845076d0b4
|
add a test exploring some usage
|
2022-04-05 21:30:38 +01:00 |
|
Corwin
|
454bb872c9
|
resolve some unsoundness
|
2022-04-04 23:02:06 +01:00 |
|
Gwilym Kuiper
|
c3a64690cd
|
Merge pull request #207 from gwilymk/dynamic-tileset
Add a slightly crappy dynamic tiles API
|
2022-04-04 20:41:16 +01:00 |
|
Corwin
|
a4979ac847
|
better handling of sprites
|
2022-04-04 20:29:00 +01:00 |
|
Corwin
|
3e3039a7f6
|
update games
|
2022-04-03 21:20:20 +01:00 |
|
Corwin
|
2ef1dd0bf2
|
z ordering moving to a global controller state
|
2022-04-03 21:20:13 +01:00 |
|
Corwin
|
a73e27dc7e
|
pull out reference to a global static
this is very unsafe, but saves quite a bit of memory.
|
2022-04-03 18:15:31 +01:00 |
|
Gwilym Kuiper
|
3fd0b53350
|
Merge pull request #206 from corwinkuiper/send-sync
add send sync requirement
|
2022-04-01 00:01:09 +01:00 |
|
Gwilym Kuiper
|
441c839ba7
|
Add a slightly crappy dynamic tiles API
|
2022-03-31 23:58:28 +01:00 |
|
Corwin
|
f05791b5dc
|
add send sync requirement
|
2022-03-31 22:59:23 +01:00 |
|
Gwilym Kuiper
|
f6ae4f731b
|
Release agb v0.9.2
|
2022-03-28 22:50:36 +01:00 |
|
Gwilym Kuiper
|
394c02f704
|
Release agb v0.9.1
|
2022-03-28 22:44:33 +01:00 |
|
Gwilym Kuiper
|
a97dcb2d2e
|
Release agb v0.9.0
|
2022-03-28 22:33:22 +01:00 |
|
Gwilym Kuiper
|
8eb4b99045
|
Release agb-fixnum v0.2.1
|
2022-03-28 22:30:51 +01:00 |
|
Gwilym Kuiper
|
021fdda997
|
Release agb-fixnum v0.2.0
|
2022-03-28 22:27:19 +01:00 |
|
Gwilym Kuiper
|
c1cfb9910a
|
Release agb-sound-converter v0.2.0
|
2022-03-28 22:24:07 +01:00 |
|
Gwilym Kuiper
|
78dc3ac57f
|
Release agb-image-converter v0.7.0
|
2022-03-28 22:21:45 +01:00 |
|
Gwilym Kuiper
|
942da6ebf7
|
Release agb-macros v0.2.0
|
2022-03-28 22:18:22 +01:00 |
|
Gwilym Kuiper
|
770ebe508b
|
Merge pull request #204 from gwilymk/remove-enable-sprites-in-background
Don't need to enable objects in tiled background any more
|
2022-03-28 22:06:07 +01:00 |
|
Gwilym Kuiper
|
14cd1e52c4
|
Make the screen visible when enabling a tiled mode
|
2022-03-28 21:53:54 +01:00 |
|
Gwilym Kuiper
|
d055cbd59c
|
Don't need to enable objects in tiled background any more
|
2022-03-28 21:43:53 +01:00 |
|
Gwilym Kuiper
|
93e14ec961
|
Extract out a struct for tile with reference count
|
2022-03-28 21:34:31 +01:00 |
|
Gwilym Kuiper
|
d15f582aba
|
Simplify type
|
2022-03-28 21:27:40 +01:00 |
|