Commit graph

1414 commits

Author SHA1 Message Date
Gwilym Inzani d9243ded6b The link register points to the next instruction 2024-06-04 21:18:10 +01:00
Gwilym Inzani fde444e253 Fix affine background matrix creation outside of the 1st quadrant 2024-05-27 14:46:55 +01:00
Gwilym Inzani 21658b9b15
Revert "Remove lifetime from dma transfer handle" 2024-05-27 14:16:24 +01:00
Gwilym Inzani c4719a5ce0 Remove unsafe from examples 2024-05-27 13:24:58 +01:00
Gwilym Inzani e9ce8cd2ad hblack_transfer doesn't need to be unsafe 2024-05-27 13:23:49 +01:00
Gwilym Inzani 248f71dbfa Remove lifetime from DMA transfer handle 2024-05-27 13:20:13 +01:00
Gwilym Inzani 30e3718797 Include drawing a leviathan 2024-05-25 21:11:32 +01:00
Gwilym Inzani 24e15f8786 Add a basic version of the example_logo for certain examples 2024-05-25 21:11:32 +01:00
Gwilym Inzani da9ad6d496 Add a 256 colour variant too 2024-05-25 21:11:02 +01:00
Gwilym Inzani bf4a6887a5 Update the background example to search for the colour 2024-05-25 21:11:02 +01:00
Gwilym Inzani b219e00454 Update the test_logo to be a bit nicer 2024-05-25 21:11:02 +01:00
Corwin d05965b98f
Release v0.20.2 2024-05-25 13:20:03 +01:00
Corwin b3d7642071
extract code generation and add test 2024-05-25 12:22:38 +01:00
Corwin 2d34099afc
resize the buffer 2024-05-25 12:07:23 +01:00
Corwin 51b1f909c5
clear screen and handle message overlap 2024-05-25 12:07:23 +01:00
Corwin e06230efd0
Agb examples site (#705)
![image](https://github.com/agbrs/agb/assets/8143879/12163f27-1097-49fd-810c-a00f6cf5d8bf)
2024-05-22 20:56:59 +01:00
Corwin e25a1c7158
remove just build that is non standard 2024-05-22 02:20:39 +01:00
Gwilym Inzani f047b6de94
Put https://agbrs.dev as the homepage for the crate (#704)
- [x] no changelog update needed
2024-05-21 23:51:31 +01:00
Gwilym Inzani 864fd08ec3 Put https://agbrs.dev as the homepage for the crate 2024-05-21 23:43:45 +01:00
Gwilym Inzani ddc3770c70 Use pointers rather than pin to simplify the mixers buffer handling 2024-05-21 23:17:39 +01:00
Corwin 6a5346026a
Release v0.20.1 2024-05-17 23:09:16 +01:00
Corwin 737b547343
Release v0.20.0 2024-05-14 22:57:40 +01:00
Corwin a2c127b72b
pull out allocator_api feature 2024-05-14 22:38:42 +01:00
Gwilym Inzani ae2eb5b448 Use the correct padding 2024-05-14 21:38:11 +01:00
Gwilym Inzani 94729e45ec Handle failure to allocate QR code on panic 2024-05-14 21:36:55 +01:00
Gwilym Inzani 8c2e079ec2 Mark the fact that it was a double panic in the fatal message 2024-05-12 14:08:03 +01:00
Gwilym Inzani 642c3c1b79 Better comments around the panic handler 2024-05-12 14:06:42 +01:00
Gwilym Inzani 18b25e242e Handle this in both panic handlers 2024-05-12 14:06:41 +01:00
Gwilym Inzani 9fe526d0bc Prevent a double panic 2024-05-12 14:06:14 +01:00
Gwilym Inzani 8ede32ea7b Mark the test as no_run rather than rust 2024-04-30 20:53:06 +01:00
Gwilym Inzani 37e9fe5066 Add a set_next method on OamIterator 2024-04-30 20:39:50 +01:00
Corwin fe972850e3
Allow customisation of the backtrace website (#647) 2024-04-23 20:38:46 +01:00
Corwin a65f6402be
fix url to point to us 2024-04-23 20:30:40 +01:00
Corwin 1c9e829bd1
have website not be an option 2024-04-23 20:09:35 +01:00
Gwilym Inzani 4243592f63
Make backtraces optional (#648)
You probably don't want backtraces if you're doing multiboot and in a
few other cases.

Also #646 broke the build if you didn't use the `testing` feature, so
I've updated the `justfile` so that a CI run checks that agb builds
correctly both without the `testing` feature and without the `backtrace`
feature. The `backtrace` feature implies the testing feature to make
things a bit simpler.

- [x] Changelog updated
2024-04-21 20:07:02 +01:00
Corwin 2560f2e15e
exclusive range 2024-04-21 16:31:41 +01:00
Gwilym Inzani 580afa9335 Make the backtrace feature optional 2024-04-20 20:28:10 +01:00
Corwin 91da2c926a
allow customisation of the backtrace website 2024-04-20 14:52:08 +01:00
Corwin 4419dfb0b5
Split mgba log if too big (#646)
- [x] Changelog updated
2024-04-20 00:21:11 +01:00
Corwin 7044c08100
large logs get split into multiple prints 2024-04-20 00:09:20 +01:00
Corwin e1a8b04616
add bounds check 2024-04-19 23:59:58 +01:00
Corwin c632eb4ea3
type use of rng 2024-04-09 22:03:33 +01:00
Corwin 32eb34f226
fix panic renderer 2024-04-09 21:58:49 +01:00
Corwin d6b32e511d
pub them in external mod 2024-04-09 21:57:26 +01:00
Corwin fb247aa8f2
move single file module out of directory 2024-04-09 21:52:04 +01:00
Corwin 10575f28a6
delay cell 2024-04-09 21:52:04 +01:00
Corwin 9fbd420089
add test that atomic read / write works 2024-04-09 21:52:04 +01:00
Corwin 2b4c4459e0
use portable atomics and other similar libraries 2024-04-09 21:52:00 +01:00
Gwilym Inzani e8aed8e376
Backtraces (#590)
Implements a very basic backtrace and the ability to format them

If you run the panic example and press A, you get:

```
[ERROR] GBA Debug: [failed]
[ERROR] GBA Debug: debug data: ce3-1ee7-1fb7-24d-1ad
[FATAL] GBA Debug: Error: panicked at src/memory_mapped.rs:101:24:
index out of bounds: the len is 240 but the index is 240
```

which you can then prettify with:

```
> agb-addr2line ../target/thumbv4t-none-eabi/debug/examples/panic 0ce3-1f57-2027-024d-01ad
0:	rust_begin_unwind <agb>/lib.rs:321
1:	core::panicking::panic_nounwind <core>/panicking.rs:151
2:	core::panicking::assert_failed_inner <core>/panicking.rs:321
3:	agb::memory_mapped::MemoryMapped2DArray<T,_,_>::set <agb>/memory_mapped.rs:101
	(inlined by) agb::display::bitmap3::Bitmap3::draw_point <agb>/display/bitmap3.rs:31
4:	main /home/gwilym/Projects/agb/agb/examples/panic.rs:15
```

- [ ] Changelog updated / no changelog update needed
2024-04-09 20:25:15 +01:00
Corwin 0d609f6d4a
satisfy linter 2024-04-06 02:36:02 +01:00