1
0
Fork 0
mirror of https://github.com/italicsjenga/agb.git synced 2025-01-15 03:50:39 +11:00
Commit graph

3324 commits

Author SHA1 Message Date
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
11b51e0a75
Workspaces ()
We can put everything except 'agb' and the 'agb-tracker' crates in a
workspace for hopefully easier management :)

- [x] no changelog update needed
2024-04-09 21:45:59 +01:00
Gwilym Inzani
b963065ad6 Update the justfile 2024-04-09 21:06:21 +01:00
Gwilym Inzani
7a059b2142 This is called agb-debug 2024-04-09 21:06:16 +01:00
Gwilym Inzani
36cdc9e28d Don't need this workspace any more 2024-04-09 21:06:08 +01:00
Gwilym Inzani
65388e01f5 Fix more clippy lints in the emulator 2024-04-09 20:56:19 +01:00
Gwilym Inzani
08ad8765de Fix clippy lint and fmt in the emulator 2024-04-09 20:55:21 +01:00
Gwilym Inzani
52ddd97a2e Switch to cargo workspaces for every crate we support 2024-04-09 20:54:12 +01:00
Corwin
0dab252379
RFC: Remove Cargo lockfiles ()
Maintaining the lockfiles has proven to be an annoyance with regular
"update lockfiles" commits. We don't actually care what's in the
lockfiles.

The problem is that they're not kept in sync with each other. We really
want a workspace to have one lockfile for the whole project, but
limitations is workspaces means this is not currently possible.
2024-04-09 20:51:28 +01:00
Corwin
c8abf33c8f
remove update lockfiles workflow 2024-04-09 20:43:31 +01:00
Corwin
b7ec8a77d5
ignore Cargo lockfiles 2024-04-09 20:42:11 +01:00
Corwin
bf3e708f6f
remove all lockfiles 2024-04-09 20:42:09 +01:00
Corwin
6c60b770b5
Implement signed for our fix num ()
* Integrates num_traits more closely.
* Implements signed for our num, and the vector2d / rect abs now can use
our fixnum.
* This is potentially breaking.
2024-04-09 20:41:00 +01:00
Corwin
7d0e05c9b5
update changelog 2024-04-09 20:33:26 +01:00
Corwin
57681f1084
use num traits for and implement signed 2024-04-09 20:26:15 +01:00
Corwin
cddb85df05
use num traits 2024-04-09 20:26:15 +01:00
Gwilym Inzani
e8aed8e376
Backtraces ()
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
646b7947e9
Enforce functions () 2024-04-09 20:22:28 +01:00
Gwilym Inzani
5f8c1a4634
Update peaceiris/actions-mdbook action to v2 ()
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[peaceiris/actions-mdbook](https://togithub.com/peaceiris/actions-mdbook)
| action | major | `v1` -> `v2` |

---

### Release Notes

<details>
<summary>peaceiris/actions-mdbook (peaceiris/actions-mdbook)</summary>

###
[`v2`](https://togithub.com/peaceiris/actions-mdbook/compare/v1...v2)

[Compare
Source](https://togithub.com/peaceiris/actions-mdbook/compare/v1...v2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log [here](https://developer.mend.io/github/agbrs/agb).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-04-09 20:18:02 +01:00
Gwilym Inzani
c77ed7fa56 Update the justfile target 2024-04-09 20:15:33 +01:00
Gwilym Inzani
966fda443a Rename agb-addr2line to agb-debug 2024-04-09 20:13:20 +01:00
Gwilym Inzani
eca511bc83 Add a changelog entry for the new backtraces 2024-04-09 20:09:52 +01:00
Corwin
754435ad1e
show mobile controls on a small screen () 2024-04-09 12:48:21 +01:00
Corwin
dcd632d3e6
Update dependency @types/node to v20.12.6 ()
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.12.5` ->
`20.12.6`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.5/20.12.6)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.5/20.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.5/20.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log [here](https://developer.mend.io/github/agbrs/agb).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-04-09 12:47:01 +01:00
Corwin
eb30a7a825
prefer regular functions over named arrow functions 2024-04-09 12:46:13 +01:00
Corwin
12316dbe6a
show mobile controls on a small screen 2024-04-09 12:15:11 +01:00
renovate[bot]
8b396fc576
Update dependency @types/node to v20.12.6 2024-04-09 07:21:24 +00:00
Corwin
abd5e44ede
Press to start on mobile () 2024-04-09 02:46:10 +01:00
Corwin
bbdcdfeb95
readd hover border on help links 2024-04-09 02:38:22 +01:00
Corwin
f6c703060f
Update dependency @types/react to v18.2.75 () 2024-04-09 02:34:13 +01:00
Corwin
73d4346964
nicer height calculation 2024-04-09 02:32:36 +01:00
Corwin
9ad67ae494
on mobile devices require a touch to start the emulator loading 2024-04-09 02:31:17 +01:00
GBA bot
ef694ad776 Update lockfiles 2024-04-09 00:04:04 +00:00
renovate[bot]
143afc961e
Update dependency @types/react to v18.2.75 2024-04-09 00:03:25 +00:00
Corwin
362e0d864f
make website with nextjs () 2024-04-09 01:01:40 +01:00
Corwin
07e0608949
cache next build 2024-04-09 00:41:28 +01:00
Corwin
a9c6723a3b
make website with nextjs 2024-04-09 00:33:32 +01:00
GBA bot
ef378905fe Update lockfiles 2024-04-08 19:56:04 +00:00
renovate[bot]
0970bc1b92
Update peaceiris/actions-mdbook action to v2 2024-04-08 19:55:29 +00:00
Corwin
7206b8f925
Update dependency @testing-library/react to v14.3.0 ()
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@testing-library/react](https://togithub.com/testing-library/react-testing-library)
| [`14.2.2` ->
`14.3.0`](https://renovatebot.com/diffs/npm/@testing-library%2freact/14.2.2/14.3.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@testing-library%2freact/14.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@testing-library%2freact/14.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@testing-library%2freact/14.2.2/14.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@testing-library%2freact/14.2.2/14.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>testing-library/react-testing-library
(@&#8203;testing-library/react)</summary>

###
[`v14.3.0`](https://togithub.com/testing-library/react-testing-library/compare/v14.2.2...9c4a46d5b9923c21c936d206614a8febcc939fc2)

[Compare
Source](https://togithub.com/testing-library/react-testing-library/compare/v14.2.2...9c4a46d5b9923c21c936d206614a8febcc939fc2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log [here](https://developer.mend.io/github/agbrs/agb).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-04-08 17:05:16 +01:00
GBA bot
2cfb5b576c Update lockfiles 2024-04-08 14:53:37 +00:00
renovate[bot]
b46a5ba43d
Update dependency @testing-library/react to v14.3.0 2024-04-08 14:53:01 +00:00
Corwin
8ddc55284c
Compress combo rom ()
GitHub pages, for whatever reason, doesn't compress the combo ROM and
instead serves it uncompressed. Therefore, we explicitly compress it
using the highest compression level at build time and explicitly
decompress it.

Previously we would download 14.69MB, now we download 7.84MB.
Approximately 50% savings.
2024-04-08 03:38:46 +01:00
Corwin
b830410e39
remove log statement 2024-04-08 03:24:06 +01:00
Corwin
f1ef67ad1e
use the gzip compressed combo rom 2024-04-08 03:23:55 +01:00
Corwin
f0ee5a081c
make emulator wrapper be able to decompress gzip compressed roms 2024-04-08 03:23:47 +01:00
Corwin
582cce78c8
compress the combo rom 2024-04-08 03:23:19 +01:00
Corwin
9b36ae62e0
Manually handle frameskipping for better audio on non multiple of 60hz screens ()
* We want to always use animation frames as our time to call the main
loop because otherwise the timing is inconsistent leading to very bad
audio.
* We don't want to call the main loop every frame otherwise > 60hz
screens will play too fast.
* We can't emscripten's frameskipping becuase it only allows for
integers whereas screeens come in many other framerates such as 75hz,
90hz, 144hz, etc.
* Therefore we manually manage frameskipping by ~~ab~~using pause and
resume game which internally just enable and disable the emscripten's
calling of the main loop. (see
27dede256b/src/platform/wasm/main.c (L183)).
* We could modify the code to let us call the main loop ourselves and
take full control over this, but for now this is okay.
2024-04-06 20:24:44 +01:00