Commit graph

925 commits

Author SHA1 Message Date
lifning 22e9cbccc0 Support armv4t-none-eabi target as well. 2022-08-01 02:20:03 -07:00
Corwin 0409a20527 add examples demonstrating this 2022-08-01 01:38:26 +01:00
Corwin a7e038aa18 Release v0.10.0 2022-07-31 17:08:48 +01:00
Corwin 567244d7dc remove print from test 2022-07-31 14:45:26 +01:00
Corwin 473fc12cee document objects 2022-07-31 13:42:41 +01:00
Gwilym Kuiper 3903b10d15
Merge pull request #266 from gwilymk/update-include-gfx-docs
Update include_gfx! documentation
2022-07-31 11:38:01 +01:00
Corwin cd70a3ed22 update docs 2022-07-31 01:06:36 +01:00
Corwin e92e8d39a5 implement allocators as zsts 2022-07-31 01:06:36 +01:00
Gwilym Kuiper acf33a5058 Update include_gfx! documentation 2022-07-31 00:04:52 +01:00
Gwilym Kuiper 3ec95a0277
Merge pull request #265 from gwilymk/gc-vram-at-the-correct-time
Run the GC after copying the tiles rather than before
2022-07-30 23:22:07 +01:00
Corwin b39b6f43b3 correct end address of range 2022-07-30 22:49:26 +01:00
Gwilym Kuiper 14e371c911 Run the GC after copying the tiles rather than before 2022-07-30 22:42:01 +01:00
Corwin 0c25eb6bee fix doc examples 2022-07-30 19:47:34 +01:00
Corwin 7f760d4404 add some doc comments to explain the allocators 2022-07-30 19:34:40 +01:00
Corwin feea7d2af1 privatise agb_alloc crate 2022-07-30 19:34:30 +01:00
Corwin cd000ca767 use the end of all assigned iwram data 2022-07-30 17:21:46 +01:00
Corwin a3de583d40 fix 2022-07-30 17:07:18 +01:00
Corwin 433fad15a1 mark function as pub crate so it's not used outside agb 2022-07-30 16:52:41 +01:00
Corwin 002ccc64dd implement allocator api so we can allocate to (ew/iw)ram 2022-07-30 16:40:48 +01:00
Gwilym Kuiper 0111ec43bb agb_start_tests can now be doc(hidden) 2022-07-25 22:49:18 +01:00
Gwilym Kuiper 20aebd349a Provide an empty #[entry] in lib.rs 2022-07-25 22:49:17 +01:00
Gwilym Kuiper 2e505f9684 Remove the need for a special test implementation 2022-07-25 22:49:17 +01:00
Gwilym Kuiper 9231d16071 Add some documentation for the test runner 2022-07-25 22:49:17 +01:00
Gwilym Kuiper 553a625c91 Mkae it possible to run tests in target crates (and add a basic tests in hat-wizard) 2022-07-25 22:49:17 +01:00
Corwin 29c74f6286 move commit 2022-07-24 21:30:45 +01:00
Gwilym Kuiper 8df9f4b5c4 Go back to using DMA for sprites 2022-07-21 20:52:07 +01:00
Gwilym Kuiper c2a4845a2e Add a must_use to pos 2022-07-21 20:34:26 +01:00
Gwilym Kuiper 3de22df7a2 Add get and set position on sound channels 2022-07-17 10:32:01 +01:00
Gwilym Kuiper a5e0e145d2 Attempt to support changing the volume of stereo sound 2022-07-16 18:47:39 +01:00
Corwin 1be10ba450 align sprite data to 2 byte boundaries 2022-07-16 13:36:33 +01:00
Gwilym Kuiper 2026e49569 Start the tile ram one tile in to prevent overwriting the transparent tile 2022-07-16 09:12:15 +01:00
Corwin ebc4e15f3d constify sprite function 2022-07-15 21:59:36 +01:00
Gwilym Kuiper a9da4a65f9 Update agbabi's memcpy 2022-07-14 22:43:41 +01:00
Gwilym Kuiper 6d1d3d2b9d Add repository to Cargo.toml files
Fixes #253
2022-07-14 21:49:53 +01:00
Gwilym Kuiper 4a6b093f6d Update mixer doctests 2022-07-12 15:07:28 +01:00
Gwilym Kuiper 70b227d471 Get doctests working for mixer/mod.rs 2022-07-12 15:00:52 +01:00
Gwilym Kuiper 8929486387 Make doctest in interrupt.rs work 2022-07-12 14:45:45 +01:00
Gwilym Kuiper 5e317ef192 Get doctests working on lib.rs (will fix ignored later) 2022-07-12 14:39:50 +01:00
Gwilym Kuiper 643891a9de Make the doctests work for infinite_scrolled_map 2022-07-12 14:37:32 +01:00
Gwilym Kuiper eeefec6e27 Make the first infinite_scrolled_map test run 2022-07-12 14:21:13 +01:00
Gwilym Kuiper 4c63058ba0 Fix example 2022-07-12 13:42:30 +01:00
Gwilym Kuiper 86b9c2b3dd Deny missing docs in mixer 2022-07-12 13:33:32 +01:00
Gwilym Kuiper 2c7db427f8 Document sw_mixer 2022-07-12 13:32:35 +01:00
Gwilym Kuiper d78d9155bf Allow impl Into<Num<...>> to make it a bit simpler 2022-07-12 12:53:17 +01:00
Gwilym Kuiper ead344ca0b Document the whole of mixer/mod.rs 2022-07-12 12:50:40 +01:00
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